iOS-鍵盤監聽YYKeyboardManager


如果鍵盤彈出覆蓋了原有的試圖,這種效果並不好,所以我們就要在鍵盤彈出的時候,監聽鍵盤的位置來改變我們一些試圖的位置,例如tableView列表等;在這里推薦一個大牛ibireme寫的YYKeyboardManager,Git地址:https://github.com/ibireme/YYKeyboardManager;用CocoaPods導入:pod 'YYKeyboardManager' ,終端 pod install 就可以使用了。

開啟鍵盤監聽

頭文件引用:#import "YYKeyboardManager.h"

[[YYKeyboardManager defaultManager] addObserver:self];

實現代理

<YYKeyboardObserver>

 

代理方法

- (void)keyboardChangedWithTransition:(YYKeyboardTransition)transition {
    [UIView animateWithDuration:transition.animationDuration delay:0 options:transition.animationOption animations:^{
        ///用此方法獲取鍵盤的rect
        CGRect kbFrame = [[YYKeyboardManager defaultManager] convertRect:transition.toFrame toView:self.view];
        ///從新計算view的位置並賦值
        CGRect textframe = _textField.frame;
        textframe.size.width = kbFrame.size.width;
        textframe.origin.y = kbFrame.origin.y - textframe.size.height;
        _textField.frame = textframe;
    } completion:^(BOOL finished) {
        
    }];
}

 

移除監聽

別忘了在釋放處移除監聽

- (void)dealloc {
    [[YYKeyboardManager defaultManager] removeObserver:self];
}

 

最后附上一個原Git上項目的效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM