如何自定义 EKEventEditViewController?

发布于 2025-01-04 22:39:04 字数 533 浏览 1 评论 0原文

我正在使用 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];

I am using the EKEventEditViewController to add events to the calendar, however I need to customise the table view, such as background colour and cell properties.

I have tried looping through its subviews like so with no luck.

Failed code:

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];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜还是长夜 2025-01-11 22:39:04

您可以使用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://stackoverflow.com/a/17469491/1305001

you can use UINavigationController delegate method to customize 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];
    }
}

Have a look at this https://stackoverflow.com/a/17469491/1305001

梦年海沫深 2025-01-11 22:39:04

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

There hasn't been a simple solution to this, but I ended up creating a custom view controller from which I handled all the event data manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文