我想用全屏的單元格實現UITableView。當用戶將單元格向上移動一部分時,我想跳到下一個單元格,而不是讓它自然滾動。iOS在UITableView滾動時跳轉到下一個單元格
我在這裏看不到很多問題或答案,也許這是因爲這是一個愚蠢的想法,但客戶希望看到它,而設計師也是這樣設計的,所以我真的必須嘗試。
有沒有人對如何實現這一點有任何建議?
謝謝。 (並感謝指出我的無知,不要說謝謝!)
我想用全屏的單元格實現UITableView。當用戶將單元格向上移動一部分時,我想跳到下一個單元格,而不是讓它自然滾動。iOS在UITableView滾動時跳轉到下一個單元格
我在這裏看不到很多問題或答案,也許這是因爲這是一個愚蠢的想法,但客戶希望看到它,而設計師也是這樣設計的,所以我真的必須嘗試。
有沒有人對如何實現這一點有任何建議?
謝謝。 (並感謝指出我的無知,不要說謝謝!)
如果您的單元格將與您的tableView的高度相同的大小,請將pagingEnabled
屬性設置爲YES
。這將使其捕捉到每個垂直滑動上的完整單元格。如果你這樣做,我會確保高度恰好全屏,否則當你滾動時你會得到一些奇怪的偏移量。
- (void)viewDidLoad
{
[super viewDidLoad];
// or somewhere similar
self.tableView.pagingEnabled = YES;
}
...
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return self.tableView.frame.size.height;
}
它實際上不是一個可怕的idea-你可以實現與尋呼滾動視圖類似的功能,但是這不需要有一次全部加載數據的優勢。
編輯:我還必須確保到控制器上禁用automaticallyAdjustsScrollViewInsets
,否則我不希望初始的第一單元偏移,以防萬一你運行到這一點。
謝謝,這正是我期待的。我有第一個單元格稍微偏移的另一個問題,但是,我在哪裏可以自動禁用AdjustsScrollViewInsets? – ColinMasters
您可以在'viewDidLoad:'中添加'self.automaticallyAdjustsScrollViewInsets = NO'行。請注意,您將其設置在實際控制器上而不是在表格視圖中。 – Stonz2
這工作,完美答案謝謝。 – ColinMasters
UITableView繼承自具有名爲pagingEnabled的屬性的UIScrollView。設置爲YES,它應該做你想做的。 – manecosta
就像用戶向上滾動一樣,顯示下一個單元格? –
而不是行,使用部分,然後它會自動執行相同的操作。你將需要更新viewForSectionHeader,它應該看起來像一個表格單元格。 – Mrunal