UITableView,分离器颜色设置在哪里?

我已经在 IB 中添加了一个 UITableView,并设置了“委托”和“数据源”,一切正常。接下来我想要做的是改变分隔符的颜色,但是我能找到的唯一方法是将方法添加到一个委托回调中,有没有更好的地方可以放置这个方法?

我现在没有这个,但是我在想也许我需要从我的控制器中添加一个“ iVar”,我可以链接到 IB 中的 UITableView,然后在 viewDidload中设置分隔符颜色?

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView setSeparatorColor:[UIColor blackColor]];
return 65;
}
133280 次浏览
- (void)viewDidLoad
{
[self.tableView setSeparatorColor:[UIColor myColor]];
}

我希望这有所帮助-你需要 self.访问它,记住。

Swift 4.2

tableView.separatorColor = UIColor.red

现在您应该能够在 IB 中直接执行此操作。

不过,不确定这个问题最初发布时是否可用。

enter image description here

迅捷 版本:

override func viewDidLoad() {
super.viewDidLoad()


// Assign your color to this property, for example here we assign the red color.
tableView.separatorColor = UIColor.redColor()
}

如果你只是想为每个分隔符设置相同的颜色,并且它是不透明的,你可以使用:

 self.tableView.separatorColor = UIColor.redColor()

如果您想为分隔符使用不同的颜色,或者清除分隔符颜色,或者使用具有 alpha 的颜色。

小心: 您必须知道在分隔符中有一个带有默认颜色的 backoundView。

要更改它,可以使用以下函数:

    func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if(view.isKindOfClass(UITableViewHeaderFooterView)){
var headerView = view as! UITableViewHeaderFooterView;
headerView.backgroundView?.backgroundColor = myColor


//Other colors you can change here
// headerView.backgroundColor = myColor
// headerView.contentView.backgroundColor = myColor
}
}


func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
if(view.isKindOfClass(UITableViewHeaderFooterView)){
var footerView = view as! UITableViewHeaderFooterView;
footerView.backgroundView?.backgroundColor = myColor
//Other colors you can change here
//footerView.backgroundColor = myColor
//footerView.contentView.backgroundColor = myColor
}
}

希望能有帮助!

试试 UITableView 的 < em > + (instancetype)外观 :

目标 C:

[[UITableView appearance] setSeparatorColor:[UIColor blackColor]]; // set your desired colour in place of "[UIColor blackColor]"

Swift 3.0:

UITableView.appearance().separatorColor = UIColor.black // set your desired colour in place of "UIColor.black"

注: 更改将反映应用程序中使用的所有表。

Swift 3,xcode 版本8.3.2,故事板-> 选择表视图-> 检查器-> 分离器。

Swift 3, xcode version 8.3.2