EKEventViewController の詳細 UITableView の背景色/画像を変更する方法はありますか? メインの UITableView は変更できますが、テーブルのアウトレットがないため、詳細の UITableView は変更できません。たとえば、イベント アプリの Apple のサンプル ソース コードは次のとおりです。
3220 次
3 に答える
5
index:0でサブビューを取得するだけではいけません。これは現在のコードでは機能する可能性がありますが、Appleがビューに変更を加えると、将来のIOSリリースで機能しなくなる可能性があります。
これはより「将来の保証」です
for (UIView *searchTableView in [yourEventController.view subviews]) {
if ([eventTableView isKindOfClass:[UITableView class]]) {
@try {
// change stuff to eventTableView
for (UIView *eventTableViewCell in [eventTableView subviews]) {
if ([eventTableViewCell isKindOfClass:[UITableViewCell class]]) {
@try {
[(UITableViewCell *)eventTableViewCell setBackgroundColor:[UIColor clearColor]];
}
@catch (NSException * e) {
}
}
}
}
@catch (NSException * e) {
}
}
}
すべての試みとキャッチを覚えておいてください!AppleがEKEventViewControllerに変更を加えた場合、コードはおそらく引き続き機能し、変更によって下位互換性が失われた場合でもクラッシュしません。
于 2011-05-30T18:19:59.763 に答える
3
使えるものはこちら、
UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];
これeventTableView
はあなたの tableView への参照であり、EKEventViewController
カスタマイズできるようになりました。
ありがとう、
于 2011-04-20T04:05:45.720 に答える
0
EKEventEditViewController の場合、Michael Gray の答えは iOS7 ではうまくいきませんでした
EKEventEditViewController の実装が異なる可能性があります。
ここに私が使用したコードがあります:
for (UIViewController *controller in ekEventEditViewController.childViewControllers) {
if ([controller isKindOfClass:[UITableViewController class]]) {
NSLog(@"UITableViewController in EKEventViewController");
}
}
于 2014-01-15T15:16:14.080 に答える