如何自定义EKEventViewController的UITableView?

0SX*_*0SX 5 iphone cocoa-touch uikit ios4 eventkit

有没有办法改变EKEventViewController中细节UITableView的背景颜色/图像?我能够更改主UITableView而不是细节UITableView,因为没有表的出口.例如,这是Apple的事件应用程序的示例源代码

Mic*_*ray 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) {
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

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


Rav*_*vin 3

这是您可以使用的,

UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

eventTableView是对您的EKEventViewControllertableView 的引用,现在您可以自定义它。

谢谢,