2013-03-06 64 views
0

我正在創建一個多行UIAlertView,但由於某種原因,UIAlertView的寬度對於我的NSString之一來說太小,所以它會放入一個換行符,並將錯誤提升到兩行。 。UIAlertView多行警報插入linebreak

這是我的代碼是什麼樣子

Ë

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]; 


    } 

這是文本如何出現

錯誤

無效的名稱 無效電子郵件 選擇表情符號定義 的experiance //這就是它去錯了......應該是在同一行

所以我想知道的是什麼如何使該文本出現在同一行,例如如何使uialerview更廣泛

+0

如果你想改變這樣的事情你是從頭開始做自己的警報的更好。 UIAlertView並不是真的被設計得太過分了。 – 2013-03-06 02:03:08

+0

那很不幸......好吧謝謝:) – HurkNburkS 2013-03-06 02:04:57

回答

0

我想你可能想通過改變問題本身的範圍,並看看會有什麼結果來解決這個問題。如果有人設法搞砸了所有8個字段,你將有一個所有8個字符串連成一個警戒框。看起來像是一個非常令人討厭的用戶界面,所有這些字符串都放在1個框中。爲什麼不重構你的代碼,以便如果用戶設法搞砸那些測試中的一個,就會以第一個失敗原因提醒他們,然後返回。 1個問題的消息一次。還需要處理換行符的連接問題。

我不知道爲什麼換行符在這種情況下不起作用,但您可以考慮嘗試使用stringByAppendingString:stringWithFormat:

或者,它可能是一些UIAlertView中是做幕後...