2012-08-10 20 views
4

我的應用程序有自定義UITableView單元格。我想一次只顯示一個單元格 - 下一個單元格應該部分顯示。在ScrollView中,您可以將isPagingEnabled設置爲YES。UITableView分頁

但是我怎麼能在UITableView以上呢?

謝謝

+0

我已經使用了uitableview setcontentoffset。這給出了問題。請給出任何想法。 – Madhubalan 2012-08-10 11:19:47

+0

如果您有少量的單元格,請考慮使用基本滾動視圖。 – Felix 2012-08-10 11:57:09

回答

6

請注意,UITableView繼承自UIScrollView,因此您可以在表格視圖本身上將pagingEnabled設置爲YES

當然,這隻有在所有單元格和表格視圖本身高度相同時纔有效。

如果您想在滾動後始終在表格視圖的頂部開始一個單元格,則可以使用UIScrollViewDelegate並實現類似這樣的操作。

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView 
        withVelocity:(CGPoint)velocity 
       targetContentOffset:(inout CGPoint *)targetContentOffset 
{ 
    UITableView *tv = (UITableView*)scrollView; 
    NSIndexPath *indexPathOfTopRowAfterScrolling = [tv indexPathForRowAtPoint: 
                 *targetContentOffset 
               ]; 
    CGRect rectForTopRowAfterScrolling = [tv rectForRowAtIndexPath: 
              indexPathOfTopRowAfterScrolling 
             ]; 
    targetContentOffset->y=rectForTopRowAfterScrolling.origin.y; 
} 

這使您可以調整滾動操作將結束的內容偏移量。

0

我不認爲我會爲此使用UITableView。

我想我會使用一個UIScrollView與高堆棧的分頁內容。您可以在滾動活動中動態重建該內容,以便模仿UITableView的內存管理。 UIScrollView會很樂意做垂直分頁,這取決於它的contentView的框架的形狀。

換句話說,我懷疑製作UIScrollView像表格一樣行事比製作像滾動視圖這樣的UITableView分頁更容易。

+1

如果你需要在[scrollview/tableview]中加入數據,並且快速滾動它們,那麼不是這樣的 - 那麼對於'UITableView'的內部內存管理是比'UIScrollView'的本地分頁更好的選擇,至少恕我直言。 – Gyfis 2013-12-13 01:32:18