美文网首页
iOS Object-C基础整理

iOS Object-C基础整理

作者: 笨鱼天阳 | 来源:发表于2022-01-21 09:34 被阅读0次

    新手入门
    请多指教

    前言

    虽然这些东西都比较基础,说实话,算是有点老旧了,但是记不住啊,只好再整理整理。
    本文仅以简单示例,详情以后再慢慢整理。

    UIView 隐藏显示

    Button.hidden = YES;
    Button.hidden = NO;
    

    Layer 简单动画

    // x 轴缩放
    CABasicAnimation *scaleX = [CABasicAnimation animationWithKeyPath:@"transform.scale.x"];
    
    scaleX.duration=2;
    
    scaleX.fromValue = [NSNumber numberWithFloat:0];
    
    scaleX.toValue = [NSNumber numberWithFloat:1];
    
    scaleX.removedOnCompletion = YES;
    
     [view.layer addAnimation:scaleX forKey:@"scaleX"];
    
    

    JSON转换

    + (NSString *)convertToJsonData:(NSDictionary *) dict {
        NSError *error;
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict 
                                            options:NSJSONWritingSortedKeys 
                                            error:&error];
        NSString *jsonString;
        if (!jsonData) {
            NSLog(@"%@",error);
        } else {
            jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
        }
        return jsonString;
    }
    

    字体加粗

    // 加粗
    [UILabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15]];
    
    // 加粗斜体
    [UILabel setFont:[UIFont fontWithName:@"Helvetica-BoldOblique" size:15]];
    

    布局约束

    [view mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.bottom.mas_equalTo(self.mas_top).with.offset(10); // 偏移
        make.right.bottom.mas_equalTo(self.mas_right).with.offset(-10); // 右偏移
        make.center.mas_equalTo(self.mas_center);
        // 乘数百分比倍数
        make.height.mas_equalTo(view.mas_width).multipliedBy(3);
     
        // make.width.height.mas_equalTo(1000).multipliedBy(0.2); // 百分比 
    
        // 除数百分比 dividedBy(0.2) == multipliedBy(5)
        make.width.height.mas_equalTo(1000).dividedBy(0.2);  
        make.width.height.lessThanOrEqualTo(self);
    dividedBy
      }];
    
    

    UIView 加边框

    view.layer.masksToBounds = YES;
    view.layer.borderColor = [[UIColor blackColor] CGColor];
    view.layer.borderWidth = 1.0;
    

    分割字符串

    // 逗号分割字符串
    NSArray *listArr = [listStr componentsSeparatedByString:@","];
    
    

    反转数组

    NSArray *reverList = [[arr reverseObjectEnumerator] allObjects];
    

    UIViewController的生命周期

    • 1.alloc
      创建对象,分配空间
    • 2.init ( initWithNibName | initWithCoder )
      初始化对象,初始化数据
    • 3.awakeFromNib
      所有视图的outlet和action已经连接,但还没有被确定。
    • 4.loadView
      完成一些关键view的初始化工作,加载view。
    • 5.viewDidLoad
      载入完成,可以进行自定义数据以及动态创建其他控件
    • 6.viewWillAppear
      视图将出现在屏幕之前
    • 7.viewWillLayoutSubviews
      将要对子视图进行调整
    • 8.viewDidLayoutSubviews
      对子视图进行调整完毕
    • 9.viewDidAppear
      视图已在屏幕上渲染完成
    • 10.viewWillDisappear
      视图将被从屏幕上移除
    • 11.viewDidDisappear
      视图已经被从屏幕上移除
    • 12.dealloc
      视图被销毁,需要对你在init和viewDidLoad中创建的对象进行释放
    • 13.didReceiveMemoryWarning
      内存警告

    延迟执行

    不止下方一种哈,还有很多,比如NSTimer。
    还有待研究。

    // 延迟2s执行 refreshData 方法
    [self performSelector:@selector(refreshData) withObject:nil afterDelay:2.0];
    
    // 取消执行 refreshData 方法
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(refreshData) object:nil];
    
    // 取消执行所有延迟类方法
    [NSObject cancelPreviousPerformRequestsWithTarget:self];
    
    

    相关文章

      网友评论

          本文标题:iOS Object-C基础整理

          本文链接:https://www.haomeiwen.com/subject/uewchrtx.html