当[sendTextField becomeFirstResponder]
,keyboard
upspring
和self.view
也会后起之时。
我有[sendTextField becomeFirstResponder]
keyboard
后代的要求,但是self.view没有后代吗?
编辑:为了更清楚我的问题,我添加了一张图片:
我的要求是:
tableview
没有后代和弹出textview's back
的{{1}}后代。
编辑:对于keyboard
的回答,我使用Ajay Gabani
的示例在我的ipnone-5s
中进行测试,我发现了这一点,tableView也{{} 1}}使用TPKeyboardAvoiding
,图片会显示:
原籍状态:
tableview upspring:
答案 0 :(得分:1)
抱歉,我无法对您的问题发表评论。
对于你的情况“当[sendTextField成为FirstFirstResponder]时,键盘后代,但是self.view不是后代?”
您可以使用键盘外观管理scrollview或tableview中的文本字段。
希望这对你有所帮助。
答案 1 :(得分:0)
如果您不想使用第三方SDK 您可以使用观察者并以编程方式管理UIView框架
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)keyboardWillShow:(NSNotification*)aNotification {
[UIView animateWithDuration:0.25 animations:^
{
CGRect newFrame = [customView frame];
newFrame.origin.y -= [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height; // Adjust your tableview position by taking keyboard height
[tableView setFrame:newFrame];
}completion:^(BOOL finished)
{
}];
}
- (void)keyboardWillBeHidden:(NSNotification*)aNotification {
[UIView animateWithDuration:0.25 animations:^
{
CGRect newFrame = [customView frame];
newFrame.origin.y += [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height; // // Adjust your tableview position
[tableView setFrame:newFrame];
}completion:^(BOOL finished)
{
}];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}