我在IB中添加了UITableView
并设置了“委托”和“数据源”,一切运行良好。我接下来要做的是更改分隔符颜色,但我能找到的唯一方法是将方法添加到其中一个委托回调中,是否有更好的地方我应该这样做?
我目前没有这个,但我想也许我需要从我的控制器添加一个“iVar”,我可以链接到IB中的UITableView
,然后在{中设置分隔符颜色{1}}?
viewDidload
答案 0 :(得分:306)
- (void)viewDidLoad
{
[self.tableView setSeparatorColor:[UIColor myColor]];
}
我希望有所帮助 - 您需要self.
才能访问它,请记住。
Swift 4.2
tableView.separatorColor = UIColor.red
答案 1 :(得分:53)
现在你应该可以直接在IB中进行。
不确定,如果这个问题最初发布时可用。
答案 2 :(得分:23)
Swift 版本:
override func viewDidLoad() {
super.viewDidLoad()
// Assign your color to this property, for example here we assign the red color.
tableView.separatorColor = UIColor.redColor()
}
答案 3 :(得分:10)
尝试UITableView的 +(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"
注意:更改将反映给应用程序中使用的所有表。
答案 4 :(得分:2)
如果您只想为每个分隔符设置相同的颜色并且它是不透明的,您可以使用:
self.tableView.separatorColor = UIColor.redColor()
如果要为分隔符使用不同的颜色或清除分隔符颜色或使用带alpha的颜色。
小心:您必须知道分隔符中有一个具有默认颜色的backgroundView。
要更改它,您可以使用此功能:
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
}
}
希望它有所帮助!
答案 5 :(得分:2)