• 一些会遗忘的代码属性


    多用于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()方法。

  • 相关阅读:
    Fiddler的使用详解
    FiddlerScript编写
    Fiddler请求及面板
    fiddler抓包时候的 tunnel to是什么意思
    doris 注意事项
    centos 安装python3
    electron9版本升级到12
    Asp.net Web API 解决跨域
    Microsoft Edge WebView2初体验
    .NET WebApi Delete error HTTP 错误 405.0 Method Not Allowed
  • 原文地址:https://www.cnblogs.com/mojiewei/p/4995965.html
Copyright © 2020-2023  润新知