私はカレンダーを扱うアプリを書いています。このアプリでは、ユーザーが有効または無効にできるすべてのカレンダーのリストを表示しています。私はではなく、EventKitUI
フレームワークを自分のデザインとUIの目的で使用しています。です。デフォルトのEKカレンダー「カレンダー」を隠すことができるかどうかを決定する方法は?
EKEventStore
オブジェクトのcalendars
プロパティをポーリングすると、きれいなカレンダーのリストが表示されます。しかし、私のデバイスではではないEKCalendar
というオブジェクトがEKEventKitUI
で表示されます。が表示されます。これは、デバッガ内のオブジェクトの記述である:
EKCalendar <0xcea6b60> {title = Agenda; type = Local; allowsModify = YES; color = #711A76;}
私はタイトルが「アジェンダ」とない「カレンダー」である理由である、オランダ語で私のiPhoneを実行しているんだけど、あなたは英語でiPhoneを実行する場合それはあなたが見るものです。これはiOSのデフォルトのカレンダーのようですが、すべてのカレンダーをiCloudと同期するように設定しているので、内蔵のカレンダーアプリでは無効になっています。私も自分のアプリでそれを無効にしたいが、私はどのように知りません。
投稿者the properties of EKCalendar
から見ると、どのカレンダーを '非表示'にするべきかを判断できません。このデフォルトのカレンダーには「ローカル」のtype
というプロパティがありますが、誰かがiCloudを使用していない場合は、すべてのカレンダーがローカルタイプであると思います。 subscription
もどちらでもなく、allowsContentModifications
もありません。私はexamples of people hiding the default calendar based on it's titleを見たことがありますが、あなたが見ることができるように、タイトルはローカライズされているため、非常に非実用的です。
通常のiCal /カレンダーアプリで表示されるカレンダーのリストを並行させるために、どのカレンダーをデフォルトカレンダーとして使用するかを非表示にするかどうかを決める秘訣はありますか?
EDIT:答えとして質問がマークされていたが、答えは「いいえ、することはできません」ビッグが含まれています。私は設定パネルを 'ローカルカレンダーを隠す'スイッチを追加することでユーザーのためにこの問題を解決しましたが、これは非常に不愉快な解決策です。
は、はい、それは私が今やっているのですが、これはあまりにもそう間違って感じています! – epologee