UIDatePickerで変更を監視する代理人がいないことに気づきました。ピッカーで何かを確認せずに変更が行われたことを検出する方法はありますか?それが回転して新しい番号に着陸する瞬間など、それを検出できるようにしたいのですが。私が観察したキー値を考えたが、私はあなたが日付の変更を処理するために、あなたのUIDatePickerにUIControlEventValueChanged
イベントを追加する必要があるスポットUIDatePickerの変更を観察する
32
A
答えて
38
IBに移動し、UIDatePicker
から.hファイルにドラッグします。次に、
を選択してください。これは.mファイルには必要ですが、 XCodeはあなたのために以下のメソッドを追加します。ここで
55
に変わる性質がないと思う。そして、
[myDatePicker addTarget:self action:@selector(dateIsChanged:) forControlEvents:UIControlEventValueChanged];
実装:
- (void)dateIsChanged:(id)sender{
NSLog(@"Date changed");
}
+1
良い答え、私はこのプログラムによるもののための怠け者です。これを行うには、日付ピッカーへの参照が必要です(IBで作成した場合は、簡単に追加することはできますが)。 – Dustin
+1
スウィフトバージョン: 'picker.addTarget(自己、アクション:#selector(dateChanged)、forControlEvents:.ValueChanged)dateChanged(送信者:UIDatePicker)FUNC @objc {印刷(sender.date.description) }' –
2
はKVO準拠の日付ピッカーのための提案である:
@interface LNKVODatePicker : UIDatePicker
@end
@implementation LNKVODatePicker
- (void)willMoveToWindow:(UIWindow *)newWindow
{
[super willMoveToWindow:newWindow];
[self removeTarget:self action:@selector(_didChangeDate) forControlEvents:UIControlEventValueChanged];
if(newWindow != nil)
{
[self addTarget:self action:@selector(_didChangeDate) forControlEvents:UIControlEventValueChanged];
}
}
- (void)dealloc
{
[self removeTarget:self action:@selector(_didChangeDate) forControlEvents:UIControlEventValueChanged];
}
- (void)_didChangeDate
{
[self willChangeValueForKey:@"date"];
[self didChangeValueForKey:@"date"];
}
@end
関連する問題
- 1. NSPopupButtonの変更を観察する
- 2. NSMutableDictionaryの変更を観察する
- 3. Magentoイベントディスパッチング/ディスパッチ対象の観察/変更
- 4. エンバーのを使用して、いくつかの配列の変更を観察するために「(..)観察」
- 5. ObservableListのアイテムのプロパティの変更を観察する方法
- 6. クラスインスタンスのプロパティの変更を観察する
- 7. NSTextStorageへの変更を観察する方法
- 8. WiFi/3Gの変更を観察してください
- 9. は、観察
- 10. EntityFrameworkコレクションとプロパティの変更を観察しながらオブジェクトを削除する
- 11. 文書のサーバ関数呼び出しが変更を観察する
- 12. Xlib経由で接続されたモニターの変更を観察するには?
- 13. ディレクティブ内の式を観察する
- 14. はのEditTextのテキスト変化を観察するにはRxAndroid
- 15. コアデータ:特定のタイプのエンティティのすべての変更を観察
- 16. iphone SDKでCLLocationCoordinate2Dを観察
- 17. 流星群の変化を観察する
- 18. ココアでの自己観察
- 19. non-emberグローバルを観察する
- 20. AngularJSでカスタムイベントを観察するには?
- 21. UIDatePickerのサイズの変更
- 22. UIViewControllerがinterfaceOrientationを変更したときを観察できますか?
- 23. アプリで行われた音量変化を観察する
- 24. キー値は、プロトコルオブジェクトに観察
- 25. 観察されたクラスのメンバーへの変更は、オブザーバーからメンバーに向けて変更されますか?
- 26. マトリックスからの抽出の観察
- 27. iOS - UIDatePickerの言語をロケールで変更
- 28. jQuery:列挙型/セレクタを観察
- 29. 変換以前の値に基づいて観察可能
- 30. JQuery/IFrameの奇妙な観察
もちろん、私が考えていない最も簡単な解決策です。ありがとう – Chris