认真搬砖中!!!
刚在写一个项目的某个页面的时候顺便看了一下图层,是下面这样的:
页面很简单,其实也没啥,就是红色箭头处这个多余的分割线让我很不舒服,当然我设置了 tableView.separatorStyle = .none
,确实运行起来你是看不见我的这根分割线,但还是存在的,为啥会有这个分割线呢,就是因为我是用xib创建的cell。
然后反正看了一下图层找到这个 _UITableViewCellSeparatorView
,然后在自定义的cell里面写了以下代码:
override func layoutSubviews() {
super.layoutSubviews()
let subviews = self.subviews
for subview in subviews {
if let separatorViewClass: AnyClass = NSClassFromString("_UITableViewCellSeparatorView") {
if subview.isKind(of: separatorViewClass) {
subview.isHidden = true
}
}
}
}
写完运行就好了:
对的,没什么技术含量,也没什么好解释的,反正都看得懂,我会来解决这个问题的原因就是,在曾经OC项目中我就处理过这个,只不过现在swift再处理一次。
下面是OC的解决问题的代码(很早之前写,代码有点low,勿喷):
//以下代码就是为了实现将那个xib画的cell的线条隐藏的方法,,
- (void)layoutSubviews
{
[super layoutSubviews];
NSMutableArray *arr = [[NSMutableArray alloc] init];
for (UIView * view in self.subviews) {
if ([view isKindOfClass:NSClassFromString(@"_UITableViewCellSeparatorView")]) {
[arr addObject:view];
}
}
UIView *v = arr.firstObject;
v.hidden = YES;
}
处理过程代码随便写就好了,反正意思是这么个意思,我写这个也是为了记录一下,没什么的。
当然,也许很多人都不会注意到这个,也无可厚非,因为根本不碍事儿。
(对了,swift 4.1已经出来了,我还没有更新呢)