0

送信ボタンがキーボードに重なっている textView があるので、ユーザーが画面上の他の場所をタップしてキーボードを削除したときのリスナーを追加しようとしています。

次のようなコードをコントローラーに追加しようとしています。

-(void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *)event
{
    [textView resignFirstResponder];
}

しかし、これにより、textView が宣言されていないという構文エラーが発生します。しかし、textView を既に画面に追加しているため、これは紛らわしいです。

コードは次のとおりです。

#import "FeedbackController.h"

@interface FeedbackController ()

@end

@implementation FeedbackController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}



- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

-(void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *)event
{
    [textView resignFirstResponder];
}

- (IBAction)submitFeedback:(id)sender {
    NSLog(@"This is a test hello");
}
@end

そして、画面は次のようになります。 ここに画像の説明を入力

textView を正しく参照する方法はありますか? また、画面の他の部分に触れたときにキーボードを非表示にするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

IBOutlet.h ファイルで変数を作成する必要があります。ストーリーボード内textViewにアウトレットアクセス ビューを作成する方法は次のとおりです。

于 2012-07-03T22:52:54.210 に答える
1

IBOutletであるtextViewのプロパティを作成する必要があります。次に、それをInterface Builderに接続して、次を呼び出すことができます。

[self.textView resignFirstRespnder] 

キーボードを非表示にしたいとき。

于 2012-07-03T22:46:32.740 に答える