这一切都适用于我在app store上的版本。但是,如果我将我的git恢复到那个,它就不再适用了。可能是因为我更新了Xcode(现为6.3)但不确定。问题是:
当我的UITextField'Editing Did Begin'处理程序被调用时,我会显示一个UIAlert。警报警告用户'您确定要编辑吗?'
如果用户点击“取消”,那么我会打电话
[self.view endEditing:YES];
以前在我的应用程序中,这具有离开UITextField并关闭对话框的效果。
现在隐藏UIAlert后,焦点将返回到UITextField,从而导致UIAlert再次创建和显示。
问题是,如何从UITextField中删除焦点?为什么它曾经工作过,但现在不再工作了?
还试过[sender resignFirstResponder],但这也没办法。
回复评论的更多信息:这是'Did End Editing'处理程序代码
- (IBAction)textFieldReturned:(id)sender
{
[sender resignFirstResponder];
}
这个问题似乎源于试图从alertView:clickedButtonAtIndex:
方法中撤销文本字段。这太早了。
我建议你实现alertView:didDismissWithButtonIndex:
委托方法。这样,当您重新签名文本字段时,警报已被解除。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == alertView.cancelButtonIndex) {
[self.view endEditing:YES];
} else {
// handle other buttons
}
}