Iphone 如何自定义EKEventViewController的UITableView?

Iphone 如何自定义EKEventViewController的UITableView?,iphone,cocoa-touch,ios4,uikit,eventkit,Iphone,Cocoa Touch,Ios4,Uikit,Eventkit,是否有任何方法可以更改EKEventViewController中details UITableView的背景色/图像?我可以更改主UITableView,但无法更改细节UITableView,因为该表没有出口。例如,这里是苹果公司的示例源代码 UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0]; 此eventTableView是对EKEventViewController的表视图

是否有任何方法可以更改EKEventViewController中details UITableView的背景色/图像?我可以更改主UITableView,但无法更改细节UITableView,因为该表没有出口。例如,这里是苹果公司的示例源代码

UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];
eventTableView
是对
EKEventViewController
的表视图的引用。现在,您可以自定义它


谢谢,

您不应该只抓取索引为0的子视图。这在您当前的代码中可能有效,但如果苹果对视图进行更改,它可能会在未来的IOS版本中失效

这更能“证明未来”


记住所有的尝试和捕捉!如果苹果对EKEventViewController进行了更改,那么代码可能仍然有效,如果更改破坏了向后兼容性,它也不会崩溃。

迈克尔·格雷的答案在iOS7上对EKEventEditViewController不起作用

EKEventEditViewController的实现可能不同

以下是我使用的代码:

for (UIViewController *controller in ekEventEditViewController.childViewControllers) {
            if ([controller isKindOfClass:[UITableViewController class]]) {
                 NSLog(@"UITableViewController in EKEventViewController");
            }
}  

你能帮我怎么做EKEventEditViewControllerDon’我不能这样做。有一天它可能会崩溃。切勿编写采用特定子视图结构的代码。EKEventEditViewController与EKEventViewController稍有不同,因此它是一个UINavigationController。您可以将EKEventEditViewController的委托属性设置为某个控制器(此委托属性实际上继承自UINavigationController),并使用委托方法willShowViewController获取UITableView。然后从那里搜索你的目标细胞。以下链接提供了一些详细信息:
for (UIViewController *controller in ekEventEditViewController.childViewControllers) {
            if ([controller isKindOfClass:[UITableViewController class]]) {
                 NSLog(@"UITableViewController in EKEventViewController");
            }
}