2014-01-29 32 views
2

我有一個包含UITableView的視圖。在視圖加載時,我將表格的tableFooterView設置爲手動創建的視圖(包含按鈕的UIView)。當視圖出現,我調整tableFooterView的框架:UITableView tableFooterView iOS6以外的屏幕?

CGRect tableFrame = self.myTableView.frame; 
CGRect originalFrame = self.tableFooter.frame; 
CGSize imageSize = CGSizeMake(40.0f, 40.0f); 
CGRect footerFrame = CGRectMake(originalFrame.origin.x, originalFrame.origin.y, tableFrame.size.width, imageSize.height); 
self.tableFooter.frame = footerFrame; 
CGRect nextFrame = CGRectMake((footerFrame.size.width - imageSize.width)/2.0f, 0.0f, imageSize.width, imageSize.height); 
self.tableFooterButton.frame = nextFrame; 

在iOS7,這工作我想要的方式 - 當我滾動到表的底部,我看到我的頁腳視圖。在iOS6上,當我滾動到表格底部時,頁腳視圖仍然不在屏幕上(我可以拉動滾動視圖並查看它,但是當我釋放時它會重置屏幕外)。

我應該做些什麼不同?

+1

嘗試它,你改變表頁腳的框架之後。 'self.myTableView.tableFooterView = nil; self.myTableView.tableFootView = self.tableFooter'。 – KudoCC

+0

@KudoCC工作。謝謝!謹慎添加它作爲答案? –

回答

5

變化表頁腳的框架後,試試這個:

​​
+0

您或其他人可以解釋爲什麼這會起作用嗎? –

+0

@AnkitAggarwal如果我們更改tableFooter的框架,tableView可能不知道這一點,所以它的contentSize將不會正確更改。代碼做的是重新設置tableView的tableFooterView,所以UITableView會相應地安排它的內容。 – KudoCC

+0

我不需要使用第一行(設置爲零)。 –