有没有办法为UITextField
,成为第一个响应者没有键盘的动画? 也就是说,使它使得键盘刚刚出现?
基本上,我推着第二UIViewController
在UIViewController
具有UITextField
,和当第二视图控制器被弹出堆栈,我想UITextField
立即拥有第一个响应状态,以便在第二视图控制器被弹出时,用户永远不会注意到文本字段不是第一个响应者。
现在我有这样,当它弹出,键盘动画在屏幕,但我不希望被看到。
有任何想法吗?
有没有办法为UITextField
,成为第一个响应者没有键盘的动画? 也就是说,使它使得键盘刚刚出现?
基本上,我推着第二UIViewController
在UIViewController
具有UITextField
,和当第二视图控制器被弹出堆栈,我想UITextField
立即拥有第一个响应状态,以便在第二视图控制器被弹出时,用户永远不会注意到文本字段不是第一个响应者。
现在我有这样,当它弹出,键盘动画在屏幕,但我不希望被看到。
有任何想法吗?
您可以使用一个UIView动画像这样
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.0];
[UIView setAnimationDelay:0.0];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[textField becomeFirstResponder]; // <---- Only edit this line
[UIView commitAnimations];
这将导致键盘突然出现。
你可以做相同的,但与-resignFirstResponder
斯威夫特..
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(0.0)
UIView.setAnimationDelay(0.0)
someTextView.resignFirstResponder()
UIView.commitAnimations()
只需将它作为第一个响应-viewDidAppear
使用户不会注意到失去领域的地位。
-(void)viewWillAppear:(BOOL)animated {
if ([self isViewLoaded] && self.textField)
[self.textField becomeFirstResponder];
[super viewWillAppear:animated];
}
我已经把一个简短的样本项目最多的Dropbox使用此代码,如果你喜欢它。
我,MOT知道什么IOS版本你使用或在什么时候你叫becomeFirstResponder
调用[textFieldReference becomeFirstResponder]
在viewWillAppear:
对iOS5的/ iOS6的似乎工作只是你想要的方式运行:
它被称为之前视图控制器将显示它的观点(这就是如果你不手动处理视图控制器层次),一旦它出现在导航控制器键盘已经被提出并文本字段具有焦点。
这就是说,有可能听说过,将允许指定的键盘外观风格没有公开的方式。