子类UITableView更改节索引的字体颜色?

时间:2012-05-01 14:56:26

标签: iphone cocoa-touch uitableview

我有一个黑色背景,顶部有UITableView。默认情况下,截面索引是半透明的,带有深色文本颜色。我想将节索引的文本颜色更改为与UITableViewCell标题标签相同的颜色。我已经阅读了一下,似乎你必须继承UITableView?我该怎么做?

3 个答案:

答案 0 :(得分:6)

从iOS 6开始,你可以这样做:

searchTable.sectionIndexColor = [UIColor blackColor];

答案 1 :(得分:0)

为了解决这个问题,我在viewDidAppear中使用了以下内容:

for (UIView *subView in [self.view subviews])
   {
        if ([[[subView class] description] isEqualToString:@"UITableViewIndex"])
        {
            [subView performSelector:@selector(setIndexColor:) withObject:[UIColor whiteColor]];
        }
    }

由于没有记录,因此必须通过选择器。

答案 2 :(得分:0)

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

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

当然,这仅在设备具有6.0+时才会执行。对于任何较旧的iOS,一切都不会改变。