8

新しい iOS 7 が出てきたので、複数の textFields とラベルを UIAlertviews に追加しようとしています。3つ必要です。それらをサブビューとして追加しようとしましたが、それはもう機能しません。また、UIAlertViewStylePlainTextInput を使用して複数の行を追加しようとしましたが、1 つのテキスト フィールドしか返されないようです。

何を入力すればよいかを示すために、ラベルを追加する必要があります。新しい iOS 7 でこのタスクを達成する方法はありますか?

4

3 に答える 3

14

iOS7 で複数のテキスト フィールドを持つ UIAlertView を使用して見つけた唯一の解決策は、ログイン専用です。

この行を使用して、alertView を初期化します

[alert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];

これにより、ユーザーの入力を取得できます。

user = [alert textFieldAtIndex:0].text;
pw = [alert textFieldAtIndex:1].text

ログイン以外の目的で、次のような他のスレッドを表示します: iOS7 の UIAlertView addSubview

于 2013-09-27T13:13:51.470 に答える
12

iOS7の標準アラート ビューで、accessoryViewを独自のcustomContentViewに変更できます。

[alertView setValue:customContentView forKey:@"accessoryView"];

[alertView show] の前にこれを呼び出す必要があることに注意してください。

最も簡単な例:

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
v.backgroundColor = [UIColor yellowColor];
[av setValue:v forKey:@"accessoryView"];
[av show];

ここに画像の説明を入力

于 2014-01-11T20:28:22.617 に答える
11

にテキストフィールドを 2 つだけ追加する場合は、次のようにテキストフィールドをUIAlertView使用UIAlertViewStyleLoginAndPasswordInputおよび変更できます。

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Some Title" message:@"Some Message." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:@"No, thanks", nil];
alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
[alert textFieldAtIndex:1].secureTextEntry = NO; //Will disable secure text entry for second textfield.
[alert textFieldAtIndex:0].placeholder = @"First Placeholder"; //Will replace "Username"
[alert textFieldAtIndex:1].placeholder = @"Second Placeholder"; //Will replace "Password"
[alert show];

その後、UIAlertView デリゲートで、次を使用してテキストを簡単に取得できます。

text1 = [alert textFieldAtIndex:0].text;
text2 = [alert textFieldAtIndex:1].text;
于 2014-10-06T10:20:58.560 に答える