2012-06-26 25 views
8

在視圖中有一個UITextView,視圖控制器以模式樣式顯示。在我的viewDidLoad方法中,我設置了這個UITextView的文本,但是文本沒有顯示。下圖顯示了錯誤。 文字顏色爲黑色UITextView中的文本顯示不正確,不可見但佔用空間

奇怪的是,當我長時間點擊文本視圖或點擊鍵盤上的[返回]時,文本變得可見。我注意到的一件事是這個錯誤只有當我設置的文本比UITextView幀的寬度更長,並且最後一個詞沒有被破壞,例如很長的URL

我覺得問題是也許單詞換行不正確

在此先感謝。

enter image description here

代碼象下面這樣:

UITextView *myTextView = [[UITextView alloc]initWithFrame:CGRectMake(10, 10, 520, 220)]; 
myTextView.textColor = [UIColor blackColor];  
myTextView.font = [UIFont systemFontOfSize:20]; 
myTextView.layer.cornerRadius = 5; 
myTextView.delegate = self; 
myTextView.text = @"long text should some like http://stackoverflow.com/posts/11200726/edit"; 

[self.view addSubview:myTextView]; 
[myTextView release]; 

來拆分。在viewDidLoad方法中,添加以下代碼:

CGRect tempFrame = myTextView.frame; 
[myTextView setFrame:CGRectZero]; 
[myTextView setFrame:tempFrame]; 
+0

你能告訴我們UITextView的代碼嗎?謝謝。 – pasawaya

+0

我已添加代碼。只需alloc/init,然後設置,釋放。這裏沒有其他的東西。 –

+0

您的修補程序也適用於我。即使使用簡短的文字,我也遇到同樣的問題,所以我認爲這個問題與單詞換行無關。 FYI調用[myTextView setNeedsDisplay]和/或[myTextView setNeedsLayout]不解決,但更改框架。 –

回答

0

確定文本顏色是黑色的嗎?還要確保圖像位於視圖層次結構中的textView後面。 TextView自動處理自動換行。

+0

是的,它是黑色的。這裏沒有圖片。 –

0

我認爲在這種情況下,viewDidLoad會在modelViewController出現之前調用。

  • 設置modalViewController出現後的文本。
  • 如果這也不起作用,那麼在呈現模型之後,調用一個方法來明確地設置文本。
+0

我試過在viewDidAppear中設置文字,也沒有工作。 –

0

檢查您的視圖層次結構。您可能在該視圖上方添加了另一個textView。

0

嘗試改變textView的背景顏色。它必須顯示在那裏添加了UITextView。並確保你沒有添加另一個視圖作爲UITextView上方的子視圖。如果textColor是黑色的,它必須是可見的,除非您更改屬性,否則默認情況下會自動完成wordwrap。如果添加,則嘗試檢查XIB中的屬性設置,如果以編程方式添加,則顯示代碼。

+0

我已添加代碼。只需alloc/init,然後設置,釋放。這裏沒有其他的東西。 –

0

我認爲問題:

self.view 

嘗試在頂部

self.view = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease]; 

添加以下代碼行,如果不是會有所幫助,嘗試刪除此行代碼

myTextView.layer.cornerRadius = 5; 
5

子類的UITextView ,給你自己的一個類,讓我們說MyUITextView:UITextView。

初始化它離屏[[MyUITextView的alloc] initWithFrame:方法CGRectZero]

在MyUITextView覆蓋的方法

- (無效)willMoveToWindow:(的UIWindow *) newWindow

並在其中,將self.frame設置爲適當的值。

這對我有效!

+0

對於同樣的問題?也許,只是重置框架,我會試試這個。謝謝。 –

+1

我只是在viewDidLoad方法中重置了框架。不是子文本視圖。而且,它的工作原理!謝謝! –