2013-03-28 99 views
1

因此,我閱讀here,我可以簡單地將UITableViewCell拖放到故事板中的UITableViewController底部,並使其充當頁腳。這個頁腳行中有一個活動指示符就是它。它的寬度是320,高度是55,指示器居中排列。請注意,這是一個UIView而不是一個UITableViewCell,因爲我只能讓它與前者一起工作。在UITableView中實現頁腳的正確方法

第一個,UITableView不停在頁腳。如果他將滾動擴展到UITableView的底部,可以看到頁腳。只要用戶釋放他的手指,當UITableView將其滾動回到最後一個元素時,頁腳就從站點消失。我正在嘗試執行Instagram正在做的事情 - 如果您滾動到底部,您可以在底部看到他們的自定義活動指示器,並且UITable將保持其在該指示器的滾動位置。我怎樣才能做到這一點?

第二個,我有一些自定義滾動執行某些用戶操作。現在,我有以下代碼:

if (row + 1 < [self.tableView numberOfRowsInSection:0]) { 
     [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForItem:row+1 inSection:0] 
           atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; 
    } else { 
     // TODO scroll a little down so the user can see the activityIndicator 
    } 

我該如何告訴我的tableView以編程方式滾動到頁腳並讓它停在那裏?

第三在一開始,我的UITableView必須從我的服務器獲取東西,才能填充tableView。不幸的是,我無法獲得頁腳視圖來最大化UITableView的空間,這樣activityIndi​​cator將出現在中心。現在,這是它的外觀:

enter image description here

我覺得我有結構設置正確:

enter image description here

我懷疑有一個UITableView內一個UIView可能會阻止該視圖的最大化。

摘要 對上述問題的任何建議?我對這個問題的長度表示歉意,但我覺得它們都與上述相同的問題有關。

+0

首先,UITableView頁眉和頁腳可以接受任何UIView或它的子類。因此添加一個UIView,是非常好的。 其次,你正在描述的頁腳,沒有任何意義。 頁腳始終是UITableView中的最後一個元素。告訴我們你的代碼爲UITableView數據源和委託方法。 第三,我不知道爲什麼你要使用的頁腳視圖作爲負載指標,而不是一個UIView,將覆蓋在UITableView的,但在這種情況下,只需關閉活動指示燈的垂直自動調整大小,和刪除頂部和底部對齊設置。 – Lefteris 2013-03-28 11:29:55

+0

也許愚蠢的問題,這種行爲與設置'tableFooterView'屬性有什麼不同? – 2013-03-29 05:33:59

回答

1

我終於明白了。

關於@zing和@Lithu的答案,這工作。但是,從此方法返回footerView將強制footerView「粘」到TableView的底部。通過這個我的意思是腳註將始終顯示(這不是我想要的)

我終於使用self.tableView.footerView = MyView。我禁用了我的UIView上的所有彈簧和結構設置,它非常適合。(我以前將其設置爲最大程度地希望能有當在該表沒有它最大化)

關於中心活動指示燈:我結束了頁腳視圖設置爲隱藏,如果有什麼在UITableView中(通過檢查在numberOfRows中)。如果發生這種情況,我以編程方式在中心添加了ActivityIndi​​cator。

感謝您的所有答案!

0

你嘗試做到在適當的委託UITableView的頁腳

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
0

使用此代碼添加在頁腳中的任何視圖。 例如

- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
     UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 49)]; 
     return footerView; 
    } 
+0

如果UIActivityIndi​​cator位於中心(或其他位置)並且用戶將設備旋轉到橫向方向,該怎麼辦?如果你有一堆內容,你需要手動對齊它們或寫自動佈局代碼,對吧? – 2013-10-03 13:50:35

相關問題