我在使用iOS5和Storyboards嘗試以編程方式調整在UIViewController
內託管的UITableView
的高度時出現問題。 VC顯示主/細節記錄樣式,UITableView
顯示詳細記錄。根據顯示的主記錄的類型,屏幕底部可能需要一組按鈕。如果按鈕不需要,那麼我想讓UITableView
擴展它的高度以利用可用空間。我使用下面的代碼:iOS - 以編程方式調整UITableView高度的大小
CGRect tableFrame = [tableListView frame];
if (blnApprovalRec == YES)
tableFrame.size.height = 127;
else
tableFrame.size.height = 170;
[tableListView setFrame:tableFrame];
該代碼被稱爲每當主記錄變化,包括在viewDidLoad
當屏幕首次加載。問題是,當VC加載時,UITableView
不使用指定的大小繪製 - 它只是使用IB的默認大小繪製。一旦用戶更改主記錄,以便重新加載表格,則一切正常,尺寸根據需要更改。我試過使用setNeedsDisplay
,setNeedsLayout
和reloadData
強制重繪,但沒有一個能夠工作。
在哪種方法你打上面的代碼? – 2012-08-17 09:37:04
該代碼是否放置在像viewDidLoad這樣的方法中? – Rick 2012-08-17 09:37:07