在UITableView中自定义索​​引/节条的字体/背景颜色

时间:2012-11-07 17:03:30

标签: objective-c ios cocoa-touch uitableview

我在SO上的另一个帖子中读到,您可以在添加CALayer的UITableView中调整索引栏(即A-Z#滚动条)的字体或背景颜色。我的应用程序将在iOS 5及更高版本上运行,因为我在Apple文档中没有看到任何相关内容,如果没有创建自定义表格视图,这是不可能的?

如果这是可能的(并且Apple可以接受),我将如何做到这一点?

3 个答案:

答案 0 :(得分:43)

从iOS 6.0开始,有两种方法可以让您更改截面索引的颜色以及沿截面索引拖动时显示的背景。

if ([tableView respondsToSelector:@selector(setSectionIndexColor:)]) {
    tableView.sectionIndexColor = ... // some color
    tableView.sectionIndexTrackingBackgroundColor = ... // some other color
}

当然,只有在设备具有6.0或更高版本时才会执行此操作。在iOS 5.x下,什么都不会改变。

答案 1 :(得分:5)

以下是swift 2 +

的代码
self.tableView.sectionIndexTrackingBackgroundColor = CustomColor
// background color while the index view is being touched
self.tableView.sectionIndexBackgroundColor = CustomColor
// title/text color of index items 
self.tableView.sectionIndexColor = CustomColor

答案 2 :(得分:0)

对于Swift 3.1:

 self.tblViewForContacts.sectionIndexTrackingBackgroundColor = self.view.backgroundColor
 self.tblViewForContacts.sectionIndexBackgroundColor = self.view.backgroundColor