UIAlertView多线警报插入换行符

时间:2013-03-06 01:59:45

标签: ios uialertview

我正在创建一个多行UIAlertView,但由于某种原因,UIAlertView的宽度对于我的一个NSString来说太小了,所以它放入一个换行符并将错误提升到两行......

这就是我的代码看起来像

ë

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更宽

1 个答案:

答案 0 :(得分:0)

我认为您可能希望通过更改问题本身的范围并查看结果来解决此问题。如果有人设法搞砸了所有8个字段,那么你将会有一个警告框,其中包含所有8个字符串。看起来像一个非常讨厌的用户界面,将所有这些字符串放在一个盒子里。为什么不重构你的代码,以便如果用户设法搞砸了其中一个测试,它将以第一个失败原因提醒他们,然后返回。一次发出1个问题的1条消息。还要处理换行符的连接问题。

我不确定为什么换行符在这种情况下不起作用,但您可以考虑尝试使用stringByAppendingString:stringWithFormat:

或者它可能是UIAlertView在幕后做的事情......