UINavigationController pushViewController - 键盘滞后于动画

时间:2011-07-30 15:27:46

标签: iphone objective-c xcode uinavigationcontroller

我有一个带键盘的视图控制器(我在viewDidLoad方法中使用becomFirstResponder来实现这一点)。此视图控制器还有一个按钮,用于触发使用pushviewcontroller加载另一个viewcontroller的IBAction。这工作正常,但我的问题是键盘似乎在第一个视图控制器中的内容后动画。所以当下一个视图控制器加载几秒然后滑出场景时,它仍然存在....还有其他人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:0)

在视图控制器中,文本字段与UITextFieldDelegate挂钩并执行

myTextField.delegate = self;

然后在控制器中实现它 -

// In Header
UITextField *currentField;

@property (nonatomic, retain) UITextField *currentField;

// In Implementation    
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    self.currentField = textField;
}

因此,当您准备好推送新的视图控制器时,只需 -

[self.currentField resignFirstResponder];

或更简单但辞职所有文字字段

答案 1 :(得分:-1)

您需要做的就是重新签名键盘,然后触发NSTimer,它将调用一个方法,该方法将在一段固定的时间后推送到下一个视图控制器。你可以玩NSTimer开火的时间来获得你想要的效果。希望有所帮助!