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);
```
不论这段代码中间有多少空格和换行,编译器都会自动把他们连接成一个字符串.