私は、ユーザーに質問をし、ユーザーの反応が次の操作を決定するのを待つ必要があるクラスを持っています。これを行う最善の方法は何でしょうか?デリゲートの使用?どうやって?私はクラスにUITextFieldとUITextFieldを持っています。質問と代理質問
おかげ
私は、ユーザーに質問をし、ユーザーの反応が次の操作を決定するのを待つ必要があるクラスを持っています。これを行う最善の方法は何でしょうか?デリゲートの使用?どうやって?私はクラスにUITextFieldとUITextFieldを持っています。質問と代理質問
おかげ
すべては、ユーザーがデータを送信する方法に依存します。最もフレンドリーな方法は、TahoeWolverineが- (BOOL)textFieldShouldReturn:(UITextField *)textField
をUITextFieldDelegate
から説明して実装しているようにすることです。これを使用するには、textFieldShouldReturn:
を実装しているクラスは、インタフェース宣言に<UITextFieldDelegate>
プロトコルを持っていなければなりません。さらに、問題のテキストフィールドは、UITextFieldDelegate
を実装するクラスをデリゲートとして設定する必要があります。ほとんどの場合、それらは次のようになります。
@interface SomeViewController : UIViewController <UITextFieldDelegate> {
UITextField *myField;
}
@property (nonatomic, retain) IBOutlet UITextField *myfield
@end
とどこかの実装で:
[[self myField] setDelegate:self];
最後に、UITextFieldDelegate
プロトコルの実装:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField == [self myField]) {
[self doSomethingWithText:[[self myField] text]];
}
}
希望に役立ちます。
はい、デリゲートを使用して、(私はあなたがユーザーにキーボードを提示していると仮定しています)、キーボードの[完了]ボタンにそれをリンクする必要があります。デリゲートをキーボードのリターンキーにリンクするだけで、そのトリックを行う必要があります。
ええ、私は実際に別のアプリで、素晴らしい提案をtextFieldShouldReturnを使用しました。 – Xcoder