UITableView設定快速索引字型顏色
阿新 • • 發佈:2019-01-06
當UITableView的分組較多的時候,經常會用到快速索引。
預設的快速索引是不允許設定的,但是還是有些牛人找到了Apple隱藏的介面
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
//設定導航字型顏色、字型、背景色
for (UIView* subview in [self.tableView subviews])
{
if ([subview isKindOfClass:NSClassFromString(@"UITableViewIndex" )])
{
if([subview respondsToSelector:@selector(setIndexColor:)])
{
[subview performSelector:@selector(setIndexColor:) withObject:[UIColor redColor]];
}
if([subview respondsToSelector:@selector (setFont:)])
{
[subview performSelector:@selector(setFont:) withObject:[UIColor redColor]];
}
if([subview respondsToSelector:@selector(setBackgroundColor:)])
{
[subview performSelector:@selector (setBackgroundColor:) withObject:[UIColor redColor]];
}
}
}
也有人把這段程式碼寫到- (void)viewDidAppear:(BOOL)animated;中,不過關係不大。重點是這三個介面很有可能會發生變化,所以用的時候最好還是除錯一下。