2

背景が暗く、そのUITableView上にがあります。デフォルトでは、セクションインデックスは半透明で、テキストの色は濃い色になっています。UITableViewCellセクションインデックスのテキストの色を、タイトルラベルを作成したのと同じ色に変更したいと思います。少し読んだのですが、サブクラス化する必要があるようですUITableView。どうすればよいですか?

4

3 に答える 3

6

iOS 6以降、次のように実行できる可能性があります。

searchTable.sectionIndexColor = [UIColor blackColor];
于 2013-04-03T12:08:44.320 に答える
0

これを解決するために、viewDidAppearで以下を使用しました。

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

文書化されていないため、セレクターを使用する必要があります。

于 2012-05-09T16:32:25.657 に答える
0

iOS 6.0以降、スクラバーをドラッグしたときに表示されるセクションインデックスと背景の色を変更できる2つの方法があります。

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

もちろん、これはデバイスに6.0以降がある場合にのみ実行されます。古いiOSでは、何も変わりません。

于 2013-06-05T15:02:01.253 に答える