我正在使用" dark"我的标准TextField的样式键盘。这是用于登录文本字段,或者是"忘记我的密码" textfield,用户输入一些信息,提交它,如果成功,它们被发送到另一个View,通常由标准导航控制器popViewControllerAanimated:。 AlertView可能出现在两者之间。
我经常看到的问题是键盘是打开的,是正常的"黑暗"灰色,然后用户单击提交,可能会出现一个警报视图,并在解除该视图切换到下一个屏幕时,前一个键盘离开屏幕。在新屏幕上,另一个默认样式键盘可能会或可能不会向上滑动然后消失(甚至没有文本域聚焦!)。然后,当点击另一个文本字段,或返回到上一个视图并单击文本字段时,这个带有白键的黑色键盘会出现错误。它会继续出现在文本字段中,直到点击几下就能将其恢复到正常的深灰色。
我试图在popViewController发生之前以各种方式解除原始键盘,但它似乎没有帮助。如果AlertView出现在中间,我在单击AlertView按钮时将popViewController绑定到委托操作。键盘通常不会快速消失,在推动之前离开。延迟对它没有帮助。
编辑:警报视图似乎是一个明确的罪魁祸首,以某种方式干扰流行音乐和键盘。{{1}}
如何避免使用黑/白键盘?
答案 0 :(得分:3)
Try using the below code. It works fine for iOS 8 and below version
if (IS_OS_8_OR_LATER) {
UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction
actionWithTitle:B_title
style:UIAlertActionStyleCancel
handler:^(UIAlertAction *action)
{
[self.navigationController popViewControllerAnimated:YES];
}];
[alertVC addAction:cancelAction];
[self presentViewController:alertVC animated:YES completion:nil];
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}