ios8以后,使用UIAlertViw时pop/push页面后,键盘闪一下的问题
2024-10-16 02:32:24
代码为
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"感谢你对我们提出的意见或建议,你的支持就是我们进步的动力!" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
[alert show]; -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex==) {
[self backForward];
}
}
效果如图
这是因为alertView的动画和键盘动画起冲突了
解决方法分为两种
①用UIAlertController,适用于ios8以后
②若还是想用UIAlertView,那么可以用如下方法
alertview show的时候写个主线程延迟,pop也延迟
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"" message:@"感谢你对我们提出的意见或建议,你的支持就是我们进步的动力!" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil, nil];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[alert show];
});
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex==) {
[self performSelector:@selector(backForward) withObject:nil afterDelay:0.25f];
}
}
好了的效果如下
最新文章
- Angular-ngtable
- Fatal error: Call to undefined function curl_init()问题
- Python 监控nginx服务是否正常
- java向mysql数据库插入数据显示乱码的问题
- iOS开发,应用间的跳转
- A股中为什么有涨幅超过10%的
- 20145227 《Java程序设计》第4周学习总结
- Python时间,日期,时间戳之间转换
- fstat().stat()函数
- 5 DML语言
- mysql-test库要命的地方
- 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计
- 按bean的属性值对list集合进行排序
- js版贪吃蛇
- 洛谷P3402 【模板】可持久化并查集(可持久化线段树,线段树)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
- python之函数对象、函数嵌套、名称空间与作用域、装饰器
- javascript通过navigator.userAgent识别各种浏览器
- Python package下载中遇到ReadTimeoutError: HTTPSConnectionPool?
- Eclipse-Java EE