iOS-UITableView中点击Cell弹出AlterViewController慢

发现问题

同事在看我代码的时候发现在点击Cell修改性别的时候,发现AlterViewcontroller没有弹出,需要多次点击.然后我在测试的时候偶然返现并不没有弹出.而是过了一会才弹出.那为什么弹出比较慢呢.
我之前的猜测是由于刚点过了一次,在此进行点击的时候,需要对之前AlterViewController进行销毁等操作.所以导致弹出比较慢(当然这个比较慢并不是第一次点击的)

在网上查到的问题都是说runloop没有及时更新UI

解决方方法

解决方法有两种我都进行过测试了.

第一种

    [self presentViewController:alertController animated:YES completion:nil];

将上面代码改成下面这种

    dispatch_async(dispatch_get_main_queue(), ^{
        [self presentViewController:alertController animated:YES completion:nil];
    });

第二种

不设置TableViewCell的selectionStyle 或者设置成默认的UITableViewCellSelectionStyleDefault
当然有些人认为cell的选中效果比较难看
那么可以在cell中设置cell的选中BackGroudView

[self setSelectedBackgroundView:view];

网上有人的人还修改下面的方法,我就使用了 上面的就可以了

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

推荐阅读更多精彩内容