0

複数行の UIAlertView を作成していますが、何らかの理由で UIAlertView の幅が NSString の 1 つに対して小さすぎるため、改行を入れてエラーを 2 行にまとめています...

これは私のコードがどのように見えるかです

e

lse if ((checkCustomerName == NO)||(checkCustomerEmail == NO)||(checkCustomerRating == NO)||(checkBranchID == NO)||(checkServerAddress == NO)||(checkPortNumber == NO)||(nameTextField == NO)||(emailTextField == NO)) {

        NSMutableString *alertString = [[NSMutableString alloc] init];


        if (checkCustomerName == NO) {
            [alertString appendString: @"invalid name \n"];
        }
        if (checkCustomerEmail == NO) {
            [alertString appendString: @"invalid e-mail \n"];
        }
        if (checkCustomerRating == NO) {
            [alertString appendString: @"Select a slimey to define your experiance \n"];
        }
        if (checkBranchID == NO) {
            [alertString appendString: @"invalid BranchID \n"];
        }
        if (checkServerAddress == NO) {
            [alertString appendString: @"invalid Server address \n"];
        }
        if (checkPortNumber == NO) {
            [alertString appendString: @"invalid port address \n"];
        }
        if (nameTextField == NO) {
            [alertString appendString: @"invalid name, too many characters \n"];
        }
        if (emailTextField == NO) {
            [alertString appendString: @"invalid e-mail, too many characters \n"];
        }



        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Errors" message:alertString delegate:self cancelButtonTitle:nil
                                               otherButtonTitles:@"OK", nil];

        [alert show];


    }

このようにテキストが表示されます

エラー

無効な名前 無効な電子メール あなたの経験を定義するスマイリーを選択してください // これが間違っているところです... 同じ行にあるはずです

だから私が知りたいのは、そのテキストを同じ行に表示する方法です。たとえば、uialerview をより広くする方法です。

4

1 に答える 1

0

問題自体のスコープを変更し、結果がどうなるかを見て、この問題を解決したいと思うかもしれません。誰かが 8 つのフィールドすべてを台無しにすると、8 つの文字列すべてが連結されたアラート ボックスが表示されます。これらすべての文字列を 1 つのボックスに入れるのは、本当に厄介な UI のように思えます。コードをリファクタリングして、ユーザーがこれらのテストの 1 つだけを失敗させた場合に、最初の失敗の理由を警告してから戻るようにしないでください。一度に 1 つの問題に対して 1 つのメッセージ。改行との連結の問題も処理します。

この状況で改行が機能しない理由はわかりませんが、stringByAppendingString:または多分stringWithFormat:.

または、UIAlertView が舞台裏で行っていることかもしれません...

于 2013-03-06T02:10:31.683 に答える