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. GreenDAO:変更を観察
- 2. NSPopupButtonの変更を観察する
- 3. NSMutableDictionaryの変更を観察する
- 4. Magentoイベントディスパッチング/ディスパッチ対象の観察/変更
- 5. 観察可能な範囲の変更
- 6. エンバーのを使用して、いくつかの配列の変更を観察するために「(..)観察」
- 7. ObservableListのアイテムのプロパティの変更を観察する方法
- 8. クラスインスタンスのプロパティの変更を観察する
- 9. NSTextStorageへの変更を観察する方法
- 10. NSViewフレームの変更を観察するには?
- 11. RxJsオブジェクトプロパティの変更を観察する方法
- 12. 内部配列の変更を観察するEmberオブジェクト
- 13. RxJSのプロパティー変更を観察するには?
- 14. エンバー2.5観察するセッションプロパティが変更さ
- 15. WiFi/3Gの変更を観察してください
- 16. Android、OrmLite - daoの外部変更を観察
- 17. 観察可能
- 18. は、観察
- 19. JavaScriptのArray観察
- 20. WPF Prism C#はDBの変更と更新を観察します
- 21. iOS10のUIDatePicker TextColorを変更する
- 22. UIDatePickerのフォントサイズを変更する方法
- 23. Swift:クラスのプロパティの変更を他のクラスから観察する方法
- 24. データバインディングライブラリを使用してルームデータベースからLiveDataの変更を観察する方法
- 25. EntityFrameworkコレクションとプロパティの変更を観察しながらオブジェクトを削除する
- 26. UIDatePickerのサイズの変更
- 27. Xlib経由で接続されたモニターの変更を観察するには?
- 28. 文書のサーバ関数呼び出しが変更を観察する
- 29. 角度2は、観察変数
- 30. 剣道観察可能な変化イベント
もちろん、私が考えていない最も簡単な解決策です。ありがとう – Chris