有没有办法在EKEventViewController中更改细节UITableView的背景颜色/图像?我能够更改主UITableView而不是细节UITableView,因为没有表的出口。例如,这是Apple的Event App
示例源代码答案 0 :(得分:5)
你不应该只是在index:0处抓取子视图。这可能适用于您当前的代码,但如果Apple对View进行更改,则可能会在未来的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进行了更改,那么代码可能仍然有效,并且如果更改破坏了向后兼容性,它也不会崩溃。
答案 1 :(得分:3)
以下是您可以使用的内容,
UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];
此eventTableView
引用了您的EKEventViewController
的tableView,现在您可以对其进行自定义。
谢谢,
答案 2 :(得分:0)
也许EKEventEditViewController的实现是不同的。
这是我用过的代码:
for (UIViewController *controller in ekEventEditViewController.childViewControllers) {
if ([controller isKindOfClass:[UITableViewController class]]) {
NSLog(@"UITableViewController in EKEventViewController");
}
}