2

私はアップルの最初のステップのチュートリアルに従いました。ボタンをクリックするとテキストを読み取ってラベルに表示できるアプリがあります。Enterキーを押すと、テキストフィールドが辞任され、キーボードが消えます。ボタンを押すと、changeGreetingメソッドが呼び出されます。changeGreetingEnterキーを押したときに使用される関数である関数を呼び出したいtextFieldShouldReturn

私は考えられるすべてのことを試し、オンラインで多くのことを読みましたが、たとえば(id)senderをパラメーターとして処理する方法がわかりません。テキストフィールドEnterでchangeGreetingを呼び出すようにコードを編集するにはどうすればよいですか?

以下のコード:

- (IBAction)changeGreeting:(id)sender {

    self.userName = self.textField.text;

    NSString *nameString = self.userName;
    NSString *endString = @"burp";
    int r = arc4random() % 74;

    if ([nameString length] == 0) {
        nameString = @"World";
    }
    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@, %@! Random String of numbers: %d", nameString, endString, r];
    self.label.text = greeting;
}

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    if (theTextField == self.textField) {
        [theTextField resignFirstResponder];
        // on enter the keyboard is removed, but I want the
        // changeGreeting method involed too, something like
        // [self changeGreeting]



    }
    return YES;
}

事前に感謝します

4

1 に答える 1

1

あなたはすでにそれを持っています。パラメータを無視してsenderください:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    if (theTextField == self.textField) {
        [theTextField resignFirstResponder];
        // on enter the keyboard is removed, but I want the
        // changeGreeting method involed too, something like
        [self changeGreeting:nil]
}
于 2012-11-09T13:16:53.863 に答える