カスタムタイムゾーンで使用すると、EKEventEditViewControllerに奇妙な問題があります。これは、2つの状況で異なる動作をします:EKEventEditViewControllerタイムゾーンの問題
状況1からは罰金作品:
- 起動アプリ
- たstartDate = [NSDate日付]
- 新イベント開始があると、新しいイベントを追加するEKEventEditViewControllerを作成します。 (現時点)
- [NSTimeZone setDefaultTimeZone:otherTimeZone]を使用してデフォルトタイムゾーンを変更する
- EKEを作成する
- 打ち上げ:予期しない動作 - ventEditViewControllerがたstartDate
- 新イベント開始が正しく表示されている= [NSDate日付]で新しいイベントを追加する
状況2(現在の時刻のタイムゾーンに調整) app
- [NSTimeZone setDefaultTimeZone:otherTimeZone]を使用してデフォルトのタイムゾーンを変更する
- startDatで新しいイベントを追加するEKEventEditViewControllerを作成するE = [NSDate日付]
- 新イベント開始が正しく表示されない(システムタイムゾーンオフセット+デフォルトのタイムゾーンオフセット)
- バックシステムのタイムゾーンに変更デフォルトのタイムゾーン[NSTimeZone setDefaultTimeZone:[NSTimeZone systemTimeZone]]
- 追加するEKEventEditViewControllerを作成します。たstartDate = [NSDate日付]
- 新イベント開始と新しいイベントは、まだ(システムタイムゾーンオフセット+デフォルトのタイムゾーンオフセット)が誤って表示されている
EKEventEditViewControllerの最初のディスプレイ上で、それは何らかの形で、デフォルトのtimezonをキャッシュすることを私の推測eとし、オフセットとして使用します。
誰も同じような問題に直面しましたか?これはバグですか、何か不足していますか?
、ちょうどEventKitは[NSTimeZone setDefaultTimeZone:otherTimeZone]でカスタムタイムゾーンを設定した後、一般的には奇妙な振る舞いことに気づきました。たとえば、「開始」フィールドの時間は、UIDatePickerに表示される時間とは異なります。 – Laurynas