使用系统alert后键盘闪出又消失的解决办法

场景重现:现在有两个控制器VCA 和VCB ,简称A ,B,比如我们是从A push到B的,然后我们在B里面执行操作,点击B中的方法,弹出个系统alert,点击系统alert,pop回A,如果我们点击alert的时候,正好键盘也在,文字正处在输入状态,这时候当我们回到A,会发现有个键盘弹出来,然后又弹下去。

1.原因可能

alertview pop
alert关闭影响了键盘动画 pop操作影响了键盘动画

然后我发现在没有pop情况下,alert关闭依旧会出现这个问题,所以我认为应该是alert关闭影响了键盘动画,不知道怎么验证,只是猜测

2.解决办法

你可以这样
#pragma mark - UIAlertDelegate Method
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    
    if(alertView.tag == 1000)
    {
        //防止pop后闪出键盘
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            self.hidesBottomBarWhenPushed = NO;
            [self.navigationController popViewControllerAnimated:YES];
        });
        
        
    }
}
假如你用的是textField你还可以可以这样
1.设置代理
textField.delegate = self;

然后在点击事件添加
[[alertView textFieldAtIndex:buttonIndex]resignFirstResponder];

参考链接

pop 一个viewController时候会有键盘闪现出来又消失, 请教原因和解决方法?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,191评论 4 61
  • 1、使用数组拼接出如下字符串 ,其中styles数组里的个数不定 2、写出两种以上声明多行字符串的方法 3、补全如...
    Schrodinger的猫阅读 2,206评论 0 0
  • 文/my 彩色沙漠 我好困,可我还是要按时完成感悟,保证8月份的日更记录。 其实今天,哦不,昨天的晨读真的很棒。 ...
    my彩色沙漠阅读 1,059评论 3 4
  • 嘿嘿 还有续集哩 岚美人 一边读我的诗 一边笑 是呀 我们都是美女导演呀 角嘛爱选谁选谁 集嘛想多少集便多少集 比...
    雪莉诗话阅读 1,209评论 15 15
  • 唐诗一首(行书)终南阴岭秀,积雪浮云端。林表明齐色,城中增暮寒。
    珠海红叶原创阅读 1,592评论 1 1