// 監聽鍵盤的位置改變
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
// 監聽鍵盤的通知
[center addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
// 收到鍵盤的frame將要改變的通知時會調用此方法
- (void)keyboardWillChangeFrame:(NSNotification *)note {
// 拿到鍵盤彈出或隱藏后的frame
CGRect keyboardFrame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
// 鍵盤彈出時
// 667 - 667 = 0
// 控制器要移動的位置 = 鍵盤顯示后或隱藏后的y - 控制器的高
CGFloat transformY = keyboardFrame.origin.y - self.view.bounds.size.height;
// 讓控制器跟隨鍵盤的彈出和隱藏來移動
self.view.transform = CGAffineTransformMakeTranslation(0, transformY);
}
//這個是回到原來的位置
self.view.transform = CGAffineTransformIdentity;
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。