活动套件更改日历?

时间:2012-02-28 21:36:50

标签: iphone objective-c eventkit

就像在普通的iPhone日历应用程序中一样,我需要创建一个包含用户日历的表格视图,他们可以选择一个,然后使用它并将事件保存到该日历。

任何帮助都会非常感激,因为这方面似乎没有太多信息。

感谢。

1 个答案:

答案 0 :(得分:0)

您想要查看Event Kit Programming Guide,特别是Creating and Editing Events Programatically上的部分。

您基本上想要分配和初始化EKEventStore,并使用日历属性获取日历列表。它是一组EKCalendar个对象。

要在表格中显示它们,您最终会得到以下内容:

// eventStore is an EKEventStore instance variable which was alloc/init'ed elsewhere
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
    return [eventStore.calendars count];
}

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
    UITableViewCell* aCell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];
    if( aCell == nil ) {
        aCell = [[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:@"MyCell"] autorelease];
    }

    EKCalendar* aCalendar = [eventStore.calendars objectAtIndex:[indexPath row]];
    aCell.textLabel.text = aCalendar.title;

    return aCell;   
}

你也可以考虑使用EKEventStore的defaultCalendarForNewEvents,而不是让你自己选择UI。