有什么方法可以更改 EKEventViewController 中详细信息 UITableView 的背景颜色/图像?由于没有表格的出口,我可以更改主 UITableView 但不能更改详细 UITableView。例如,这里是 Apple 的Event App示例源代码
问问题
3220 次
3 回答
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) {
}
}
}
记住所有的尝试和捕获!如果苹果对 EKEventViewController 进行更改,那么代码可能仍然有效,并且如果更改破坏了向后兼容性,它也不会崩溃。
于 2011-05-30T18:19:59.763 回答
3
这是你可以使用的,
UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];
这eventTableView
是对您EKEventViewController
的 tableView 的引用,现在您可以对其进行自定义。
谢谢,
于 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 回答