1

テキストフィールドとボタンがあります。ボタンが押されると、ルーチンが呼び出されます。コードを複製しなくても、終了時にテキストフィールドが同じルーチンを呼び出すようにします。ViewController.hは以下です

    #import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityind;
@property (weak, nonatomic) IBOutlet UITextField *search;

- (IBAction)calculate:(id)sender;

@end
4

2 に答える 2

0

ViewController.h では、UITextFieldDelegate を次のように実装します。

@interface ViewController : UIViewController <UITextFieldDelegate>

次に、メソッドを使用します

-(BOOL)textFieldShouldReturn:(UITextField *)textField

IBAction を呼び出して、resignFirstResponder を呼び出します。リターン キーも自動有効化します。

于 2012-07-17T01:26:22.390 に答える
0

[編集1]

あなたのviewControllerヘッダーで:

@interface ViewController : UIViewController <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityind;
@property (weak, nonatomic) IBOutlet UITextField *search;

-(void)doSomeWork;
-(IBAction)calculate:(id)sender;

@end

機能を第 2 層のルーチンに実装するだけです。

あなたのviewController.mファイルで:

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    if(search == textField){
        [textField resignFirstResponder];
        [self doSomeWork];
    }
    return YES;
}

-(void)doSomeWork{
    // Do whatever you want to do here!!!
}

-(IBAction)calculate:(id)sender{
    [self doSomeWork];
}

あなたのxibファイルでは、ボタンを「計算」アクション、適切なUITextFieldへの検索に接続する必要があります。

UITextField のデリゲートは、Interface Builder でグラフィカルに、またはコードで設定できます。コードの場合は、viewController.m ファイル内に次の行を追加します。

search.delegate = self;

次のように viewDidLoad メソッドに追加します。

-(void)viewDidLoad{
    [super viewDidLoad];
    search.delegate = self;
}
于 2012-07-17T03:16:22.643 に答える