美文网首页
iOS UIAlertView消失后键盘重新弹出问题

iOS UIAlertView消失后键盘重新弹出问题

作者: TroyZhang | 来源:发表于2016-07-21 11:07 被阅读613次

    描述

    最近在项目中发现一个小问题:手机当前界面有一些输入框,

    • 1.点击确定按钮后->
    • 2.代码隐藏键盘->
    • 3.提交数据到服务端->
    • 4.服务端返回结果->
    • 5.弹出UIAlertView呈现结果->
    • 6.用户点击UIAlertView中的按钮->
    • 7.Dismiss UIAlertView->
    • 8.键盘诡异的又自动弹出来了

    �简单来说是过程2到过程7的时间太过短暂造成的,无语了~~~。

    解决方案:

    iOS8+

    But since iOS 8, I suggest to use the UIAlertController instead of UIAlertView.
    

    继续用UIAlertView

    // you must put around .6 second gap in hiding keyboard and presenting alert
    // 隐藏键盘后延迟0.6秒弹出UIAlertView
    [YOUR_TEXT resignFirstResponder];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
          _alertVw = [[UIAlertView alloc] initWithTitle:@"" message:@"message." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
          [_alertVw show];
    });
    

    参考 Keyboard will appeared automatically in ios 8.3 while displaying alertview or alertcontroller

    相关文章

      网友评论

          本文标题:iOS UIAlertView消失后键盘重新弹出问题

          本文链接:https://www.haomeiwen.com/subject/urdbjttx.html