2010-12-22 18 views
0

我正在嘗試設置從UIViewController的viewWillAppear中事件的UITextView的高度,下面的代碼:設置從UIViewController的viewWillAppear中事件的UITextView的高度

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    textView.text = blah blah... 
    textView.frame = CGRectMake(textView.frame.origin.x, textView.frame.origin.y, 
     textView.frame.size.width, textView.frame.size.height-20); 
} 

但是,它似乎忽略我的上漿,就好像在這個事件被調用之後,textview被別的東西調整了大小。

我在做什麼錯了?有沒有一些好方法可以做到這一點?

感謝

CNC中

得到它通過將代碼在我viewDidAppear而不是viewWillAppear中工作。 所以它現在有效。

雖然我很困惑,爲什麼我需要這樣做(從底部刪除20像素) - 我的意思是不應該調整大小自動填充?爲什麼它調整到20px太長?底部有一個標籤欄,頂部有一個導航欄。這令人困惑嗎?

回答

1

在只有此代碼和單個TextView的應用程序中,按預期調整大小。所以..它絕對是你的應用程序中的其他東西。

你可能引用的contentize屬性或其他viewDidAppear?

+0

那麼,我已經通過將調整大小代碼放在viewDidAppear中來實現它。現在我很好奇,爲什麼在視圖中出現問題將無法奏效! – Chris 2010-12-22 10:51:42

+0

@Chris,調整大小的代碼在viewWillAppear中工作。 – Ishu 2010-12-22 10:57:06

2

簡單而明顯的問題,文字是否改變,換句話說,就是在IB中連接的出口?

JUSTA提示:看看使用的CGRect輔助功能,如:

textView.frame = CGRectInset(textView.frame, 0, 20); 
0

得到它通過將代碼在我viewDidAppear而不是viewWillAppear中工作。 所以它現在有效。

雖然我很困惑,爲什麼我需要這樣做(從底部刪除20像素) - 我的意思是不應該調整大小自動填充?爲什麼它調整到20px太長?底部有一個標籤欄,頂部有一個導航欄。

相關問題