美文网首页
ios 的通知机制

ios 的通知机制

作者: 虫yu | 来源:发表于2018-10-26 16:39 被阅读23次
    [[NSNotificationCenter defaultCenter] postNotificationName:@"IntroductionNotification"
                                                                 object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setChapin) name:@"IntroductionNotification" object:nil];
    //注销通知
    - (void)dealloc {
        [super dealloc]; // 非ARC中需要调用此句
        [[NSNotificationCenter defaultCenter] removeObserver:self name:@"IntroductionNotification" object:nil];
    //  [[NSNotificationCenter defaultCenter] removeObserver:self];
    }
    

    我们经常需要在键盘弹出或者隐藏的时候做一些特定的操作,因此需要监听键盘的状态

        键盘状态改变的时候,系统会发出一些特定的通知
    
        UIKeyboardWillShowNotification // 键盘即将显示
    
        UIKeyboardDidShowNotification // 键盘显示完毕
    
        UIKeyboardWillHideNotification // 键盘即将隐藏
    
        UIKeyboardDidHideNotification // 键盘隐藏完毕
    
        UIKeyboardWillChangeFrameNotification // 键盘的位置尺寸即将发生改变
    
        UIKeyboardDidChangeFrameNotification // 键盘的位置尺寸改变完毕
    
        
    
        系统发出键盘通知时,会附带一下跟键盘有关的额外信息(字典),字典常见的key如下:
    
        UIKeyboardFrameBeginUserInfoKey // 键盘刚开始的frame
    
        UIKeyboardFrameEndUserInfoKey // 键盘最终的frame(动画执行完毕后)
    
        UIKeyboardAnimationDurationUserInfoKey // 键盘动画的时间
    
        UIKeyboardAnimationCurveUserInfoKey // 键盘动画的执行节奏(快慢)
    

    由于键盘的通知是系统自动的,因此可以不用创建通知,只需要注册一个监听器监听即可,当收到相应的通知去执行方法。

    参考资料:

    ios 的通知机制

    相关文章

      网友评论

          本文标题:ios 的通知机制

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