作者ahchie (啵B劝-福.加油)
看板MacDev
标题Re: [问题] keyboard挡住firstresponder
时间Mon Jun 3 17:47:03 2013
※ 引述《whitefur (白毛)》之铭言:
: 请问怎麽处理keyboard往上推出之後
: 挡住下面的textfield
: 如果view不是scrollview的情况下
: 谢谢
可以在例如viewDidLoad的地方
用NSNotificationCenter接UIKeyboardWillShowNotification
在handler-selector function里可以知道键盘大小(高度)
- (void)你的handler:(NSNotification*)notification
{
NSValue* value = [[notification userInfo] valueForKey:\
UIKeyboardFrameBeginUserInfoKey];
CGFloat keyboardHeight = [value CGRectValue].size.height;
}
然後再去把整个view的frame做调整:
[UIView animateWithDuration:0.3f animations:^
{
CGRect frame = self.view.frame;
frame.origin.y -= 要移动的量;
self.view.frame = frame;
}
];
编辑完了之後 如果是UITextField的话 就用UITextFieldDelegate function
- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
跟上面移动self.view一样的方法
然後
[textField resignFirstResponder];
return YES;
}
以上~ ;)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.186.156