学习笔记-斯坦福iOS7-第五课:视图控制器生命周期

第五课 视图控制器生命周期

1. UITextView
a. NSTextStorage *textStorage;
NSTextStorage 是 NSMutableAttributedString 子类。

b. NSTextContainer *textContainer;
设置文本限定区域。

c. NSLayoutManager
负责对各个字形进行布局。

d. demo
@property (weak, nonatomic) IBoutlet UITextView *body;
// 选中某段文本,点击按钮,把按钮颜色设置到选中文本颜色。
-(IBAction)changeBOdySeleColorButton:(UIButton*)sender
{
  [self.body.textStorage addAttribute:NSForegroundColorAttributeName
                                        value:sender.backgroundColor
                                       range:self.body.selectedRange];
}


2. View Controller Lifecycle
a. viewDidLoad :实例化和outlet 设置好后,被调用;是很好的初始化的地方。
但是需要注意,这是view的几何形状(bounds)没有被设置,所以不能确定是iPhone 5 或者iPad 或者其他,所以不要初始化和几何形状相关的代码。

b. viewWillAppear :view出现在屏幕上时,被调用。
如果view隐藏时,有些数据得到了改变,这时该方法被调用时,初始化或更新这些数据。

c. viewWillDisappear 

d. viewDidLayoutSubviews : 手机横竖屏转换,系统已经把各元素调整了,现在需要用户调整自己控件位置大小了。

e. didReceivememoryWarning

f. awakeFromNib : 从storyboard中创建时,被调用,view,Controller都会收到。
调用时,outlets 还没有被设置(mvc “loaded”之前调用)

g. 步骤:
awakeFromNib
outlets 被设置
viewDidLoad
viewWillLayoutSubviews and viewDidLayoutSubviews 
viewWillAppear and viewDidAppear
viewWillDisappear and viewDidDisappear


3. NSNotification
a. - (void)addObserver:(id)observer
                 selector:(SEL)methodToInvoke
                     name:(NSString*)name
                  object:(id)sender;
 observer: 接收消息的对象;
     name:消息名
   sender:默认nil,设置时,表示接收指定对象的消息

b. - (void)method:(NSNotification*)notification
{
    notification.name      // 消息名,同上面的name
    notification.object     // 向你发送通知的对象,同上面的sender
    notification.userInfo  // 取决于发送消息方设置的数据
}

c. removeObserver : 不用时,一定移除消息监听


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值