0

基本的textFieldShouldReturnに呼ばれません。.Xib を使用した多くの例を見てきましたが、それは私がストーリーボードと ios の初心者を使用しているのとまったく同じではありません。

だから私は1つのテキストフィールドを持つ基本的なView Controllerを持っています。

ViewController は次のようになります。

@interface ViewController: UIViewController <UITextFieldDelegate>
@property (weak,nonatomic) IBOutlet UITextField *test;
@end

だから私はUITextFieldProtocolを使用しています。

次に、私が持っている.mファイルで

@synthesize test;

そしてviewDidLoadの中に私が持っている

self.test.delegate = self;

次に、メソッドを実装しました:

-(BOOL) textFieldShouldReturn:(UITextField *) textField{
NSLog(@" I am being called");
return YES;
}

したがって、デリゲートとして設定しているにもかかわらず、テキストフィールドをクリックしても、このメソッドは呼び出されません。

Xcode 5 ストーリーボードに必要なものはありますか?

4

1 に答える 1

-2

私は答えを見つけました。簡単で、プロトコルなどを使用する必要さえありません!!

そのため、コード (インターネットで見つけられる一般的なコード) で行ったすべてのことは、Xcode 5 では機能しません。そのコードは実行されません。

ユーザーが textField をクリックした場合にコールバック メソッドを使用する代わりに、UITextFieldDelegatw を使用する必要はまったくありません。

代わりに、コントローラー内で次のような IBAction を作成します。

-(IBAction)textFieldReturn:(id)sender
{
    NSLog(@"text field Return");


}

次に StoryBoard 内で [Connections Inspector] を選択し、そのコントロールを割り当てる TextField を選択します。

次に、特別イベントで「TouchDown」をテキストフィールドにドラッグし、作成したメソッドを選択します。上記の場合、textFieldReturn オプションが表示されます。

以上です。

そのチェックボックスを選択してアプリケーションを実行すると、コールバックが返されます。

于 2013-11-07T13:33:51.133 に答える