我有一個奇怪的設計案例,在其中實現我需要將兩個UITableViews放在同一視圖中。我只是使用部分,但我需要在第二個表上的索引。滾動兩個UITableViews在一起
我想讓他們一起滾動,就像他們實際上是同一個表視圖的兩個部分。這可能嗎?
下面是說明爲什麼一個基本的樣機:
據我瞭解,你不能移動索引。另外,向表中添加索引時,它會顯示在整個tableview上,而不僅僅是一個部分。
如果我必須實現這兩個表視圖,他們都需要滾動,如果他們是一個。如果可以使用部分來做到這一點,那就更好了。
我有一個奇怪的設計案例,在其中實現我需要將兩個UITableViews放在同一視圖中。我只是使用部分,但我需要在第二個表上的索引。滾動兩個UITableViews在一起
我想讓他們一起滾動,就像他們實際上是同一個表視圖的兩個部分。這可能嗎?
下面是說明爲什麼一個基本的樣機:
據我瞭解,你不能移動索引。另外,向表中添加索引時,它會顯示在整個tableview上,而不僅僅是一個部分。
如果我必須實現這兩個表視圖,他們都需要滾動,如果他們是一個。如果可以使用部分來做到這一點,那就更好了。
更新
看到你更新我的舊的答案是不是很好,但我會留下我以前爲別人誰想要它的答案後。
新答案 - 這取決於您希望表格如何同步。
如果你知道
top 5
然後你就可以計算細胞在可見top 5
表的頂部。您可以使用此信息將底部表格滾動到正確的索引處。
老答案
我與其他人不知道你爲什麼會想,或者如果我誤解,但它很簡單。
UITableView
是UIScrollView
子類,所以你可以自己設置爲UITableViewDelegate
,並覆蓋
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
{
UITableView *slaveTable = nil;
if (self.table1 == scrollView) {
slaveTable = self.table2;
} else if (self.table2 == scrollView) {
slaveTable = self.table1;
}
[slaveTable setContentOffset:scrollView.contentOffset];
}
這給了我的東西,看起來像這樣:
頂部UITableView
是self.table1
而底部是self.table2
如果任一表被滾動,則滾動在另一個表中被鏡像。
從模擬看來,這似乎可以用一個UITableView
兩個部分來完成。
而不是維護兩個tableView你可以維護兩個集合(每個部分一個)。然後在cellForRowAtIndexPath
中根據indexPath中指定的部分選擇要使用的集合。
索引將顯示在兩個部分上,而不僅僅是第二部分。 – James
我不認爲我完全明白你想要做什麼。請舉例說明。 – SundayMonday
我想在桌面上有一個索引,但只在第二部分。就像現在一樣,如果我添加一個索引,它會出現在哪裏(在整個表格上)。我只想在第二部分編制索引。 – James
在迅速驗證碼:
func scrollViewDidScroll(scrollView: UIScrollView) {
if tb_time1 == scrollView {
tb_time2.contentOffset = tb_time1.contentOffset
}else if tb_time2 == scrollView {
tb_time1.contentOffset = tb_time2.contentOffset
}
}
請澄清你所說的「第二表索引」的意思。我不相信單個'UITableView'不會滿足您的需求。 – SundayMonday
您能否讓您的問題更具體地針對您正在嘗試做的事情?我相信我們可以找到一個簡單的解決方案,只使用1個'UITableView'! – Legolas