1. 程式人生 > >UITableView設定快速索引字型顏色

UITableView設定快速索引字型顏色

當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;中,不過關係不大。重點是這三個介面很有可能會發生變化,所以用的時候最好還是除錯一下。

原帖地址