0

カレンダーにイベントを追加します。

コードは正しいのですが、Datepicker からの日付と時刻が必要です。

次のコードの日付ピッカーから日付と時刻を設定する方法:

EKEventStore *es = [[EKEventStore alloc] init];
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    /* This code will run when uses has made his/her choice */
    EKEvent *myEvent = [EKEvent eventWithEventStore:es];
    myEvent.title = @"New Event";

    myEvent.startDate = [NSDate date]; // I need to set date from Datepicker

    NSTimeInterval interval = 60*+5; // I need to set time from Datepicker
    EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:interval];
    [myEvent addAlarm:alarm];
    myEvent.endDate = [[NSDate date] initWithTimeInterval:600 sinceDate:myEvent.startDate];

    [myEvent setCalendar:[es defaultCalendarForNewEvents]];
    NSError *err;
    [es saveEvent:myEvent span:EKSpanThisEvent error:&err];
}];

日付と時刻を設定するコメントが表示されます。

ありがとう。

4

2 に答える 2

0

日付と時刻の解決策を見つけました。そして、私はあなたとコードを共有しています:

datepickerからの日付の場合:

NSDate *selectedDate = self.datePicker.date;
myEvent.startDate = selectedDate;

デートピッカーからの目覚まし時計:

EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:selectedDate];
[myEvent addAlarm:alarm];

それで全部です。

良いコーディング;)

于 2013-03-10T22:12:00.560 に答える
0

使用(UIDatePickerdatePickerのアウトレットと仮定):

NSDate *date = self.datePicker.date; 
myEvent.startDate = date;

または一行で:

myEvent.startDate = self.datePicker.date

時間間隔の場合:

NSTimeInterval interval = <time in seconds>;

編集:(あなたのコメントの後)

日付と時刻ではなく、時間だけが必要なためです。NSDateFormatter次に、日付を使用してフォーマットする必要があります。

于 2013-03-10T13:33:53.617 に答える