只有在ipad上点击某个文本字段时才显示键盘?
问题描述:
我需要在显示键盘时将视图向上移动,但仅对于视图底部的1个文本框,我认为这将与检查isFirstResponder一样简单,但没有这样的运气 - 这是我正在尝试的:只有在ipad上点击某个文本字段时才显示键盘?
if ([notes isFirstResponder]) {
[UIView beginAnimations:@"moveupcontrols" context:nil];
[UIView setAnimationDuration:.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.view.frame=CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y-kOrderFormKeyboardHeight, self.view.frame.size.width, self.view.frame.size.height) ;
[UIView commitAnimations];
keyboardIsShown = YES;
}
我假设通知在我的文本字段上设置FirstResponder标志之前触发。关于这方面的解决方法的想法?
答
为什么不使用UITextField -textFieldShouldBeginEditing:delegate方法?这将在编辑开始之前被调用,并且您可以在那里执行动画。
答
为什么不设置标签到该文本字段并将相同的代码添加到textFieldDidBeginEditing
委托方法?您将不得不检查标记值而不是isFirstResponder。
答
下面是一些代码为你做:
- (void)viewDidLoad {
textField1.tag = 1;
textField2.tag = 2;
textField1.delegate = self;
textField2.delegate = self;
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField.tag == 1) {
// then animation here
}
}
不要忘记comform到UITextFieldDelegate协议。
很好,谢谢 – Slee 2010-08-24 14:48:51