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;

你可能感兴趣的:(iOS-UITableView中点击Cell弹出AlterViewController慢)