一些会遗忘的代码属性

多用于tableView的选中

UIViewController* XXX=[[NSClassFromString([_viewControllerArray objectAtIndex:indexPath.row]) alloc] init];

代码块里面需要些self的话就在外面声明__unsafe_unretained typeof(self) superself = self;代替self,防止内存泄露

//9宫格用View做的话记得初始化前加几行代码避免cell重用出BUG
[self.view removeFromSuperview];
    PhotosView* view=[PhotosView new];
    view.clipsToBounds=YES;//View释放则里面的子控件释放
    [self addSubview:view];

让组件成为第一响印者:比如进去程序就让他成为编辑状态

[_searchController.searchBar becomeFirstResponder];

 [_textField resignFirstResponder];//键盘收起

[_textField  becomeFirstResponder]//让它成为第一响应者

刷新表单

[_tableView reloadData];

//cell的实现方法,避免cell的重用造成视图混乱
if (!cell) {
          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier];
      } else {
          // 删除Cell的所有子视图
         while ([cell.contentView.subviews lastObject] != nil) {
             [(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];
         }
     }

 

刷新部分表格

 [_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath,nil] withRowAnimation:(UITableViewRowAnimation)];

 刷新Section

NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndex:0];

[self.tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];

让表格不移动

_tableView.bounces = NO;

#pragma mark 点击cell方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失

}

 

点击cell页面跳转:

将NSString传进controller里面进行跳转,用代码块传值方式

cell里面
.h
typedef void (^talker)(NSString* username); @property (nonatomic,copy)talker newTalker; .m UIButton* btn1=[[UIButton alloc]initWithFrame:CGRectMake(CGRectGetMaxX(btn.frame)+30, CGRectGetMaxY(textLable.frame), 50, 30)]; btn1.tag=101; [btn1 setTitle:@"测试" forState:UIControlStateNormal]; [btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(startTalk) forControlEvents:UIControlEventTouchUpInside]; #pragma mark 代码块传值 - (void)startTalk { NSString* userName = textLable.text; self.newTalker(userName); } //UITabelViewCell实现方法里面 cell.newTalker = ^(NSString* username){ [self jumpTalkPageWith:username]; }; - (void)jumpTalkPageWith:(NSString*)username { NSLog(@"%@",username); }

 

 

 

 计算数组里面的数值

NSArray *testArray = [NSArray arrayWithObjects:@"2.0", @"2.3", @"3.0", @"4.0", nil];

 

NSNumber *sum = [testArray valueForKeyPath:@"@sum.floatValue"];

http://www.cnblogs.com/jerehedu/p/4607368.html   core Data教学

//动画代码块

[UIView animateWithDuration:0.2 animations:^{

         view.frame=CGRectMake(0, 374,self.view.frame.size.width, 35);

//实现组件需要做的动画

    }];//动画代码块

 [UIView animateWithDuration:0.8 animations:^{

        self.maskBut.alpha=0;

        but1.frame=self.currentRect;//动画实现代码

    }completion:^(BOOL finished) {

        [self.maskBut removeFromSuperview];

          self.navigationController.navigationBar.hidden=NO;//动画播放完时调用的代码

    }];

 

 

视图层次

将一个UIView显示在最前面(父视图里面的最前端),调用其父视图的 bringSubviewToFront方法。

将一个UIView层推送到背后(父视图里面的最后端),调用其父视图的 sendSubviewToBack方法。

 

如  [xxxxx  bringSubviewToFront:yyyy];  yyyy必须是xxxxx的subview,调用后,yyyy显示在xxxxx里面所有subview的最前端

 

 

http://www.cnblogs.com/try-wyh/p/4836298.html 安装插件管理

清除以前的以防万一
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin
rm -rf ~/Library/Application\ Support/Alcatraz

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4

安装
curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

 

//Label点击事件
    UILabel* textLabel=[UILabel new];
    textLabel.userInteractionEnabled=YES;
    UITapGestureRecognizer* labelTapGestureRecognizer= [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelTouchUpInside:)];
    [textLabel addGestureRecognizer:labelTapGestureRecognizer];

     

  textLabel.adjustsFontSizeToFitWidth = YES;//自适应字体
-(void)labelTouchUpInside:(UITapGestureRecognizer*)recognizer{
    UILabel *label=(UILabel*)recognizer.view;
    
    NSLog(@"%@被点击了",label.text);
}

中间一点 ・・・・・・

释放控件

[textLabel removeFromSuperview];

 

视图的层级

附:

将一个UIView显示在最前面只需要调用其父视图的 bringSubviewToFront()方法。

将一个UIView层推送到背后只需要调用其父视图的 sendSubviewToBack()方法。

 

posted on 2015-11-25 21:15  摩羯小伟  阅读(265)  评论(0编辑  收藏  举报

导航