UIAlertView 显示 与 UITextFileld/UITextView 键盘弹出隐藏动画异常

本文针对UIAlertView在 UITextField 辞去第一响应者后导致键盘隐藏异常的问题提供了详细的解决方案。通过让 UIAlertView 延迟显示来避免与键盘隐藏动画的冲突,确保了良好的用户体验。

UIAlertView 在 UITextFileld/UITextView 辞去第一响应者后弹出,键盘隐藏异常

UITextField 辞去第一响应者,键盘隐藏,若紧接着弹出 UIAlertView ,此时 alertView 消失后键盘会再次快速的弹起并隐藏.

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil];
[alertView show];

因 alertView 弹出动画与 键盘隐藏动画 起冲突所致

解决:

让 alertView 延迟 (0.5秒) 弹出,可避免冲突

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [alertView show];
    });

参考链接

IOS-65-解决UIAlertView导致界面弹出键盘的问题
Can't hide keyboard in UIViewController stack when UIAlertView is on screen
Keyboard loses hiding ability “if I use a UIAlertView”

With Partener 张旭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值