2011-11-29 70 views
2

我想添加一個子視圖到我的UITableView的底部,爲了做到這一點,我需要知道表視圖的contentSize屬性。但我正在考慮這樣做的最佳方式,我的意思是什麼時候,以何種方式;當我創建表格視圖時,我仍然不知道將有多少個單元格。何時知道UITableView的contentSize

所以我可以在numbersOfRowsInSections中做到這一點?或者,在cellForRowAtIndexPath中執行它會更合適一些,請委託它是否是最後一個單元格,並且只在第一次時添加它。

如果tableView只是作爲子視圖添加,viewWill/DidAppear不會被調用,所以它們都不是真正的選擇。

更新:我應該清除(根據第一次答案),它必須低於表,但在表中,而不是在超視圖,不想使用頁腳,它必須是一個添加子視圖。而且我知道如何獲取contentSize,我在問自己哪裏是更好的地方來處理它。

UPDATE 2:我已經說過了,回答下面的評論,但我想我也必須把它放在這裏,因爲這是觸發選票。我只是不關心頁腳視圖。頁腳視圖不是問題,我不想使用它,我已經發現如何手動添加子視圖。正如問題的標題所說,我只是在詢問什麼時候用什麼方法詢問表視圖的contentSize更好。

+0

我從你的問題推斷你的tableview被添加爲子視圖。所以你可以考慮在tableview下添加這個視圖嗎? –

+1

有關您的答案的更新問題 – ferostar

+0

您爲什麼不想使用頁腳視圖? – Simon

回答

4

將您想放置在桌子底部的視圖分配給桌子的tableFooterView屬性。

2

的UITableView有tableFooterView財產http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

我想設置該屬性贊同你的觀點做你想要什麼

+0

也檢查出這個鏈接http://stackoverflow.com/questions/3231525/calculate-the-tables-contentsize-height-with-custom-cells-of-different-types-ip – Harish

+0

感謝您的鏈接,但我想做一些計算和事情,所以footerView不是我所需要的,而是在下面添加一個簡單的視圖,我問我的自我是在哪裏知道contentSize的更好方法。 – ferostar

0

你能得到下面的代碼

NSLog(@"%f",YourTableObject.contentSize.height); 
+0

更新了有關您的答案的問題 – ferostar

+1

然後編寫邏輯相應如果indexpath.row是最後一個對象然後在索引路徑中對單元格執行任何操作 – Srinivas

+0

我說在我的問題的第二段中,您認爲這是更好的方法那呢?謝謝! – ferostar

1
try this one 
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 

//you can add your view in this method. with return key 
//like 
return view; 

} 
Througth的
+0

更新了我的問題,我不想使用footerView,它必須是一個添加的子視圖。 – ferostar

+0

@KartikArora請注意,您正在爲某個部分添加頁腳,但tableViews也有一個屬性footerView,用於爲tableView本身添加頁腳。 – vikingosegundo

2
-(float)getTableViewHeight 
{ 
[self.tableView layoutIfNeeded]; 
return self.tableView.contentSize.height; 
} 

我認爲這是你需要的。

+0

在發佈之前你有沒有嘗試過?這是行不通的 – onmyway133