アラートのボタンが押された場合、またはキーボードのリターンキーが押された場合に同じコードを実行したいと思います。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
アラートの[OK]ボタンで機能しますが、リターンキーに相当するものが見つかりません。
- (BOOL)textFieldShouldReturn:(UITextField *)alertTextField
私は無駄に実験してきました。
1年前、このサイトのコメントの3人が同じ問題を抱えていて、回答されませんでした。
キーボードの「戻る」にアラートビューが応答して、「OK」ボタンをタップしたのと同じ結果になるようにするにはどうすればよいですか。GoogleでiOS5SDKのコンテンツが見つからないようです。
これを達成するために必要なすべてのステップは何ですか?
編集:
すなわち:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
[[NSUserDefaults standardUserDefaults] setObject:[alertView textFieldAtIndex:0].text forKey:@"url_preference"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
ユーザーが[OK]を押すと、そのコードが実行されます。キーボードのReturnキーに似た、単純な同等のものは何ですか?
現在、私はこれを試しています:
- (BOOL)textFieldShouldReturn:(UITextField *)alertTextField {
[alertTextField resignFirstResponder];
NSLog(@"test");
return YES;
}
これは何もしません。
これが私のアラートの定義です:
-(void) noUrl {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Add a URL" message:@"Change it later in Settings" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Load",nil]; //If you change button name, change it in the other alertView function
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField * alertTextField = [alert textFieldAtIndex:0];
alertTextField.keyboardType = UIKeyboardTypeURL;
alertTextField.returnKeyType = UIReturnKeyGo;
alertTextField.enablesReturnKeyAutomatically = YES;
alertTextField.placeholder = @"http://www.example.com";
[alert show];
return;
}
別のファイルや別の場所にコードを追加する必要がある場合は、詳細を教えていただければ幸いです。