发现问题
同事在看我代码的时候发现在点击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;