2013-05-21 43 views
-1

我將一些NSString數據(從我的網站查詢的論壇帖子)作爲我的第一個應用程序添加到UILabel中。有時,根據帖子的內容,標籤完全是空白的。我已經修好了足以辨別出有某些角色導致了這個問題,但我無法完全停下來。逃脫iOS UILabel的壞字符?

是否有收集的字符類型的名單要注意這種事情?更好的是,有沒有一種逃避它們的方法,或者自動將它們轉換成更可接受的方法?

謝謝你幫助一個n00b!

+2

你能提供的這些壞人物的例子嗎? – trojanfoe

回答

0

我想給你一些線索,即使你沒有把這段代碼放在你的問題中。

您應該首先嚐試使用適當的方法編碼即將到來的字符串,如encoding:NSUTF8StringEncoding,然後嘗試將已解碼的字符串設置爲您的UIlabel

另一種替代方法是,您可以爲filtering創建一些regex即將到來的字符串。你可以在谷歌上找到許多類似的線索。

+0

我沒有發佈我的代碼,因爲沒有相關的代碼發佈。我唯一要做的就是'[postBody setText:postBodyText];'。問題在於源信息,正如我所說的,我不知道具體是什麼部分,因爲這正是我所要求的。 但謝謝你的想法! – Nerrolken

+0

@AlexanderWinn歡迎.. !!!! – Kamarshad

1

看起來你有空白或新的生產線在你的字符串:

試試這個:

NSString* labelText = [stringFromWebsite stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] 
+0

那麼'UILabel'中是否不允許空格和新行? – trojanfoe

+0

它們是允許的,但是如果你在字符串開始時有逃逸字符,並且如果你設置了你的uilabel只顯示1行,那麼你會看到一個空標籤,因爲它只會顯示第一行,由於轉義字符是空行。我只是修剪字符串,然後讓uilabel做這個工作,你可以設置uilabel顯示多行和文本對齊等。 – dreampowder

+1

另外,如果你用多行顯示文本,我建議你使用uitextfield,而不是uilabel。正如你可以從名字中理解的那樣,UI標籤是用來顯示標籤等內容的,而文本字段更可能用於顯示「文本字段」。如果您不希望用戶能夠點擊或更改文本字段內容,則可以將其「userinteractionenabled」設置爲false。 – dreampowder