2017-05-23 2 views
0

私は、複数のUITextField、UIButtonsを含むUIViewを持っており、それらのサブビューの値が変更されているかどうかを知る必要があります。例えば、UITextFieldsの場合、textFieldDidChange:(UITextField *)theTextFieldのような関数があります。この関数は、UITextFieldsのテキストに変更があった場合、私たちに通知します。同様に、UIVIewのサブビューのいずれかに値の変更があるかどうかを通知する方法はありますか?私を助けてください。iOSでUIViewのサブビューの値の変更を見つける方法

+2

どの種類のサブビューを監視する必要があるかを指定しますか?カスタムUIViewクラスか、UISwitchやUISliderのようなものですか? – Tj3n

+0

UITextFieldsと同様、UIButton – hilaj

+0

そのサブビュー内で行われたすべての変更を観察したい場合は、タイプを指定してそれらをすべて観察し、メインビューに委譲しなければならないかもしれませんが、これを行う方法は1行ありません。 – Tj3n

答えて

2

タグは、ボタンとtextFieldの両方に使用でき、タグを使用して変更されたtextFieldの値を簡単に識別できます。たとえば、textFieldはUIViewのサブビューであるため、このように特定のtextFieldからテキストを取得できます。

NSString *text = ((UITextField*)[YourView viewWithTag:result]).text; 

ボタン用に1つのボタンを維持するすべてのボタンに対してアクションを実行し、タグを使用してボタンをクリックします。

- (IBAction)buttonClicked:(id)sender { 
    if(sender.tag == 1) { 
      //Do something. 
     }  
} 
+0

いいえ、実際には、サブビューの値/状態が変更されているかどうかを知る必要があります。例えば、私はUITextFields、UIButtons、UISwitchなどを含むビューを持っています。そのビューを更新するとき、私はビューにしたかどうかを変更する必要があります。つまり、UITextFieldsの値を変更したり、そのようなボタンをクリックしたりします。 – hilaj

関連する問題