IOS 自定义cell 分割线不完整
1、 问题
第一次进去的时候,发现1-6 这个cell右边没有分割线,而且这个1-6的Cell 不能选中,影响事件。 但是当上下滑动后,它会出来,完全正常。
2、解决办法
折腾了 大半天, 找到原因:
注释掉自定义cell类里的- (void)setFrame:(CGRect)frame 方法,IOS7 就好了。
@implementation MyTableViewCell
- (void)setFrame:(CGRect)frame {
frame.size.width = self.window.frame.size.width;
\[supersetFrame:frame\];
}
再去IOS 8 测试,发现全没分割线了:
解决办法在对应的TableViewController里面加上下面语句,就好了
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
3、分割线相关扩展
分割线没有显示全,左边有一段缺失:
下面code 可以解决
-(void)viewDidLayoutSubviews {
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
\[self.tableView setSeparatorInset:UIEdgeInsetsZero\];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
\[self.tableView setLayoutMargins:UIEdgeInsetsZero\];
}
}
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{
if (\[cell respondsToSelector:@selector(setLayoutMargins:)\]) \{
\[cell setLayoutMargins:UIEdgeInsetsZero\];
}
if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
\[cell setSeparatorInset:UIEdgeInsetsZero\];
}
}
还没有评论,来说两句吧...