1

基本的なユーザー操作については、Beginning Iphone Development 4 の例に従っています。

SDK 4.3でxcode 4.02を使用しています

数値用とテキスト用の2つのテキストボックスを持つ基本的なviewcontroller.xibがあります。いずれかのテキスト フィールドの編集が終了したら、背景をタップしてキーパッドを非表示にします。

この本では、コンテナーの UIView オブジェクトを UIControl に変更してから、UIControl イベント Touch Down にアクションを追加するように指示されています。次に、各テキスト ボックスのファーストレスポンダを辞任するメソッドを作成し、これをタッチ ダウン イベントにリンクします。私はこれをやった。これが私のコードです。見逃したものはありますか? 現時点では何も起こりません。

ここに画像の説明を入力 ありがとう

@interface ControlFunViewController : UIViewController {
    UITextField *nameField;
    UITextField *numberField;
}

@property (nonatomic, retain) IBOutlet UITextField *nameField;
@property (nonatomic, retain) IBOutlet UITextField *numberField;

- (IBAction)textFieldDoneEditing:(id)sender;
- (IBAction)backgroundTap:(id)sender;

実装:

#import "ControlFunViewController.h"

@implementation ControlFunViewController

@synthesize nameField;
@synthesize numberField;

- (void)dealloc
{
    [nameField release];
    [numberField release];
    [super dealloc];
}

- (IBAction)textFieldDoneEditing:(id)sender {
    [sender resignFirstResponder];
}
- (IBAction)backgroundTap:(id)sender {
    [nameField resignFirstResponder];
    [numberField resignFirstResponder];
}
4

3 に答える 3

2

このリンクが役に立ちます。いくつかの異なる方法でキーボードを非表示にします。http://www.mobisoftinfotech.com/blog/iphone/iphone-uitextfield-tutorial-handling-keyboard-interactions/

私は実際、今年初めに同じ本でまったく同じ問題を抱えていました。注意深く読んでいなかったことに気付き、小さな指示を 1 つだけ見逃していたので、注意深く読み直したところ、うまくいきました。

于 2011-06-26T14:19:28.280 に答える
1

インスペクタの識別タブから UIView を UIControl に変更します -> クラス ID セクション。これを追加

-(IBACTION)tabBackground: (id) sender; 

あなたの.hファイルに

これを .m ファイルに追加します

-(IBACTION) tabBackgroup: (id)sender {
[nameField resignFirstRespnder];
[numberField resignFirstResponder];
}

インスペクタから tabBackgroupnd を接続し、アクション受信セクションを UIVIEW (現在は UIControl です) に接続します。何か問題があれば教えてください

于 2012-03-11T09:00:58.393 に答える
0

答えが見つかりました。テキストボックスのアウトレットをリンクしなかったため、コントローラーは存在しませんでした。男子校の間違い。

http://www.iphonedevbook.com/forum/chapter-4-more-user-interface-fun/4145-backgroundtap.html

于 2011-06-26T16:24:29.817 に答える