美文网首页
ios开发冷知识小笔记

ios开发冷知识小笔记

作者: 大布溜 | 来源:发表于2017-01-12 14:56 被阅读18次

    1.UIImageView重写drawRect方法后drawRect是不会被调用的。

    网上的解释是说“UIImageView是专门为显示图片做的控件,用了最优显示技术,是不让调用darwrect方法, 要调用这个方法,只能从uiview里重写”。

    2.OC中几何数据类型的便捷写法

    CGPoint, CGSize, CGRect 这一类成为几何数据类型...实质上都是结构体 而不是对象....所以初始化时不必加*

    此外, 初始化时除了用, 例如CGRectMake来初始化以为,还有一些便捷的写法, 如下

    ```

    rect = {1,2,3,4};

    rect = {.origin = {1,1}, size = {2,2}};

    rect = {.origin = {.x = 1, .y =2} , size = {.x = 2, .y = 2}};

    //甚至可以省略某一部分,比如:

    rect = {size = CGSizeMake(1,1)};

    //类似的还有各种写法,不累述了..

    ```

    3.CGRectInset  和 CGRectOffset 

    比起CGRectMake,这两个方法更容易被忽略,,,不过有些时候相当有用...但是要弄清楚他们之间的差别...大概如下图..

    4.字符串组成的数组可以直接用下面的这个方法创建,

    ```

    NSArray *item = [@"one*two*three" compontsSeparatedByString:"*"];

    ```

    5.大部分控件可以用带属性的字符串(Attributed String)来完成设置文本属性

    ```

    [myButton setAtrributedTitle:attributedString forState:UIControlStateNormal];

    ```

    6.编译器编译时会把用空格(实测后,包括换行)分割的字符串连在一起

    ```

        NSString*str =@"123"

        @"456"  @"789"

        @"101112"

        @"dhfljl";

        NSLog(@"%@",str);

    ```

    不论这段代码中间有多少空格和换行,编译器都会自动把他们连接成一个字符串.

    相关文章

      网友评论

          本文标题:ios开发冷知识小笔记

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