私はその上にUITableView
の暗い背景を持っています。デフォルトでセクションインデックスは半透明で、暗い文字色です。セクションインデックスのテキストの色をUITableViewCell
タイトルラベルと同じ色に変更したいと思います。私はちょっと読んだことがあります。あなたはUITableView
をサブクラス化しなければならないようですね?これはどうすればいいですか?この問題を解決するにはサブクラスUITableViewはセクションインデックスのフォント色を変更しますか?
2
A
答えて
0
私はviewDidAppearで次のように使用:
for (UIView *subView in [self.view subviews])
{
if ([[[subView class] description] isEqualToString:@"UITableViewIndex"])
{
[subView performSelector:@selector(setIndexColor:) withObject:[UIColor whiteColor]];
}
}
それが文書化されていないので、セレクタ経由にする必要があります。あなたがする可能性を持っているのiOS 6以降で
+0
プライベートAPIを使用すると、App Storeからの拒否の危険性があるという警告がアップしました。 Appleの自動コードレビューの仕組みはわかりませんが、@selector(setIndexColor:)をNSSelectorFromString(@ "setIndexColor:") 'に置き換えることを検討してください。また、条件付きで 'respondsToSelector:'を使うと、クラス記述をチェックするよりも安全です。 – clozach
6
それが好き:iOSの6.0のよう
searchTable.sectionIndexColor = [UIColor blackColor];
0
をドラッグするときに、セクションインデックスの色と示した背景を変更できるようにする2つの方法がありますスクラバー
if ([tableView respondsToSelector:@selector(setSectionIndexColor:)]) {
tableView.sectionIndexColor = ... // some color
tableView.sectionIndexTrackingBackgroundColor = ... // some other color
}
もちろん、このデバイスが6.0以上の場合にのみ実行されます。古いiOSでは、何も変わりません。
[iPhoneアプリケーションのUITableViewでセクションインデックスをカスタマイズする]の可能な複製(http://stackoverflow.com/questions/2643400/customizing-section-indexes-in-uitableview-in-iphone-application)パブリックAPIで可能です。 – jrturton