ios开发冷知识小笔记

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开发冷知识小笔记)