键盘打开后视图更改后出现带有白色文本的ios黑色键盘

时间:2016-03-26 01:10:39

标签: ios keyboard alertview

我正在使用" dark"我的标准TextField的样式键盘。这是用于登录文本字段,或者是"忘记我的密码" textfield,用户输入一些信息,提交它,如果成功,它们被发送到另一个View,通常由标准导航控制器popViewControllerAanimated:。 AlertView可能出现在两者之间。

我经常看到的问题是键盘是打开的,是正常的"黑暗"灰色,然后用户单击提交,可能会出现一个警报视图,并在解除该视图切换到下一个屏幕时,前一个键盘离开屏幕。在新屏幕上,另一个默认样式键盘可能会或可能不会向上滑动然后消失(甚至没有文本域聚焦!)。然后,当点击另一个文本字段,或返回到上一个视图并单击文本字段时,这个带有白键的黑色键盘会出现错误。它会继续出现在文本字段中,直到点击几下就能将其恢复到正常的深灰色。

我试图在popViewController发生之前以各种方式解除原始键盘,但它似乎没有帮助。如果AlertView出现在中间,我在单击AlertView按钮时将popViewController绑定到委托操作。键盘通常不会快速消失,在推动之前离开。延迟对它没有帮助。

编辑:警报视图似乎是一个明确的罪魁祸首,以某种方式干扰流行音乐和键盘。

{{1}}

如何避免使用黑/白键盘?

enter image description here

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];
        }
}