如何自定义EKEventEditViewController

时间:2013-02-11 13:43:23

标签: iphone ios calendar eventkit

我在我的应用中使用默认EKEventEditViewController,我想自定义它,目前它显示默认EKEventEditViewController中的所有字段,但我不想显示网址字段,也想要添加时区字段。我可以这样做吗?如果是,那么请求我知道我该怎么做? enter image description here

1 个答案:

答案 0 :(得分:4)

你可以使用这段摘录:

1)使你的viewcontroller成为你的EKEventEditViewController

的委托
EKEventEditViewController *addController = [[EKEventEditViewController alloc] init];
addController.delegate = self;

2)然后在你的视图控制器上实现它:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    if ([viewController isKindOfClass:[UITableViewController class]]) {
        UITableView *tableView = ((UITableViewController *)viewController).tableView;

    for (NSInteger j = 0; j < [tableView numberOfSections]; ++j)
    {
        for (NSInteger i = 0; i < [tableView numberOfRowsInSection:j]; ++i)
        {
            UITableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]];

            NSLog(@"cell => %@, row => %d, section => %d", cell.textLabel.text, i, j);

            if([cell.textLabel.text isEqualToString:@"Calendar"]) {
                [cell removeFromSuperview];
            } else if(j == 5) { // If URL Field
                [cell removeFromSuperview];
            }
        }
    }
}

}

注意:我之前在另一个Stackoverflow中找到了这个问题并在我的项目中实现了它。我忘了链接。希望这会有所帮助,并且归功于我得到这个的原始答案。