2014-02-05 172 views
1

我試圖創建一個可以垂直和水平滾動的UITableView。我實現這個的方式是在UICollectionViewCell的內部放置一個UITableView(向上和向下滾動),我只設置了水平滾動(左側和右側)。在代碼方面,解決方案看起來非常乾淨(因爲它在我的書中很優雅),但是,我在桌面視圖上遇到垂直滾動的一些問題。水平滾動的UICollectionViewCell中的UITableView垂直滾動問題

通常情況下,當您垂直滾動UITableView時,它將保持跟蹤並保持您在滾動中的位置 - 因爲在表格視圖中不會重置或移動其滾動位置,離開。正如你可能已經猜到的那樣,這是我在實現時遇到的情況,如果我滾動到表格視圖的最底部,它的滾動位置會移到我離開的位置上方,而我不能自然地看到最後一個在我的表格視圖中輸入,而不必爲了顯示它而強制滾動到底部。

任何想法可能導致這種情況?我在Interface Builder中配置了UITableView,UICollectionViewUICollectionViewCell的所有設置 - 最重要的是我將UICollectionViewUICollectionViewFlowLayout滾動方向設置爲水平。我不確定這是不知何故被覆蓋的地方...

回答

-1

This是你在找我相信。

+0

不完全。我試圖避免所有的子類化,因爲我相信你只需使用本機的'UITableView'和'UICollectionView'控件就可以實現這個解決方案。蘋果提供了一個盒子(這也使得它更容易維護)。我非常接近它的工作,但它只是這個小怪癖,這是在我的方式 – Danchez

+0

爲什麼你需要的方式UITableView?你不能只使用UICollectionView,因爲它可以滑動兩種方式嗎? – Mika

+0

您只能配置一個'UICollectionView'只能向一個方向滾動。它可以是垂直或水平。爲了完成你的建議,我需要使用兩個'UICollectionViews',這對我來說沒什麼意義,因爲'UITableView'和'UICollectionView'都從同一個'UIScrollView'父類繼承而來。除了UICollectionView提供的關於流和佈局的各種定製之外,兩者之間確實沒有太大的區別 - (這就是爲什麼它們的許多數據源方法非常相似)。 – Danchez