【问题标题】:How to customise a EKEventEditViewController?如何自定义一个 EKEventEditViewController?
【发布时间】:2026-01-18 12:25:01
【问题描述】:

我正在使用 EKEventEditViewController 将事件添加到日历中,但是我需要自定义表格视图,例如背景颜色和单元格属性。

我试过像这样循环它的子视图,但没有运气。

失败的代码:

EKEventEditViewController *eventVc = [[EKEventEditViewController alloc] init];
    eventVc.event = event;
    eventVc.delegate = self;
    eventVc.eventStore = eventStore;
    eventVc.editViewDelegate = self;

    for (UITableView *view in [eventVc.view subviews]) {
        [view setBackgroundColor:[UIColor redColor]];
    }

    [self presentModalViewController:eventVc animated:YES];

【问题讨论】:

    标签: iphone objective-c ipad ekeventkit


    【解决方案1】:

    您可以使用UINavigationController委托方法自定义EKEventEditViewController

    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
        if ([viewController isKindOfClass:[UITableViewController class]]) {
    
            UITableView *tblView=((UITableViewController*)viewController).tableView;
    
            [tblView setBackgroundColor:[UIColor redColor]];
            [tblView setBackgroundView:nil];
        }
    }
    

    看看这个https://*.com/a/17469491/1305001

    【讨论】:

      【解决方案2】:

      对此并没有简单的解决方案,但我最终创建了一个自定义视图控制器,我从中手动处理所有事件数据。

      【讨论】:

      • Hii Josh,请详细说明如何手动处理事件数据,我还想自定义 EKEventEditViewController,我想再添加两个字段并想删除一个 URL 字段,我应该怎么做那..请帮帮我。