iOS/重新打开软件,屏幕会闪一下tableView设置cell的setSeparatorInset 时闪烁

cell的setSeparatorInset 时闪烁

在做项目时真机测试时遇到了一个问题,当点击HOME键后,重新打开软件,屏幕会闪一下,然后没任何报错,怀疑时获取完数据后是不是Tableview刷新导致的,然后调试了不是,后来想到如果在刷新时创建新的视图有可能也会导致刷新,后来发现也不是,然后将代码一部分一部分筛查才发现在cellForRowAtIndexPath方法中创建cell的时候加了[cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, MAXFLOAT)];去掉就不会闪烁了.具体原因我也没弄懂,估计在设置cell缩进的时候进行页面刷新了,如果有知道的朋友可以给我留言,大家学习一下.当然

iOS 7下

想要设置cell的分割线缩进为0,在iOS7中只用简单的设置cell的separatorInset = UIEdgeInsetZero;

iOS 8下

在iOS8下,上面的方法就不行啦,

//Setup your cell margins:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

// Remove seperator inset

if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {

[cell setSeparatorInset:UIEdgeInsetsZero];

}

// Prevent the cell from inheriting the Table View's margin settings

if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {

[cell setPreservesSuperviewLayoutMargins:NO];

}

// Explictly set your cell's layout margins

if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {

[cell setLayoutMargins:UIEdgeInsetsZero];

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容