View and Window Architecture
- 一个view的所有subviews被安装顺序放在 一个数组中,放在数组最后的view会被显示出来;
- 改变superview的行为,会对subview产生影响,例如修改大小,透明度等
- 如果一个单击行为,当前的view没有处理,就会传给superview进行处理,当然一些特殊的view也会把消息传给responder object进行处理,例如view controller.
- 如果一个view的内容发生变化,我们不需要直接调用绘制接口,而应该调用SetNeedsDisplay或者SetNeedsDisplayInRect:
- contentMode, 这里详细介绍了各种content mode的含义。
- 如果只是修改view的位置,建议用center, 而不是frame
- default的情况,如果一个view的大小比super view大,这个view的内容都会被显示出来,不过这个可以通过修改clipToBounds YES来改变,如果这个属性设置为YES,super view之外的内容都会被裁剪掉
- 只定义一个custom view,下面的几个方法经常需要overridden: event handler, layoutSubviews, drawRect:
Creating and Managing a View Hierarchy
- [pareview addSubview:child view] 将一个view增加到父view中,同时父view会retain子view
- [childview removeFromSuperView], 将view从父view中删除,同时父view会release child view.