UITableView,分隔符颜色在哪里设置?

时间:2010-07-29 16:33:26

标签: ios objective-c uitableview cocoa-touch

我在IB中添加了UITableView并设置了“委托”和“数据源”,一切运行良好。我接下来要做的是更改分隔符颜色,但我能找到的唯一方法是将方法添加到其中一个委托回调中,是否有更好的地方我应该这样做?

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

viewDidload

6 个答案:

答案 0 :(得分:306)

- (void)viewDidLoad
{
   [self.tableView setSeparatorColor:[UIColor myColor]];
}

我希望有所帮助 - 您需要self.才能访问它,请记住。

Swift 4.2

tableView.separatorColor = UIColor.red

答案 1 :(得分:53)

现在你应该可以直接在IB中进行。

不确定,如果这个问题最初发布时可用。

enter image description here

答案 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)

Swift 3,xcode版本8.3.2,storyboard->选择您的表格View-> inspector-> Separator。

Swift 3, xcode version 8.3.2