我需要顯示一個數據表;行和列。我認爲UICollectionView會解決我的問題,並訴諸於它,而不是進入UITableView。 UICollectionView的flowLayout(開箱即用的佈局)的確顯示了多列數據。但是,我可以讓它顯示多個屏幕寬度的內容嗎?比方說,我想讓UICollectionView顯示3個屏幕寬度的數據(例如,對於iPhone,它是320 * 3 = 960px)?默認情況下,UICollectionView的FlowLayout似乎會在屏幕寬度上中斷數據顯示,並繼續在下一行顯示其餘部分。現在,我不希望它在頁寬結束時中斷,而是在(3 *頁寬)的末尾。UICollectionView或UITableView要超過屏幕尺寸
我試了一下: 我把的CollectionView一個UIScrollView內滾動視圖的寬度設置爲3 *頁面寬度是這樣的:
[self.scrollView setContentSize:CGSizeMake([[UIScreen mainScreen] bounds].width*3.0, [[UIScreen mainScreen] bounds].size.height)];
當我運行的應用程序,網頁確實顯示3 *頁寬的寬度。我可以很好地滾動。但是,UICollectionView數據在一個頁面中斷 - wdith並繼續在下一行顯示(意味着它不會將scrollview的寬度視爲寬度,而是繼續將頁面寬度視爲寬度)。
請提供您的建議/意見。這將非常有幫助!
謝謝!我開始寫這篇文章,但是當我讀到創建自定義UICollectionViewLayout的工作時會暫停。所以,我認爲如果可以對UICollectionViewFlowLayout進行一些調整以獲得相同的結果,而不是僅僅因爲無法調整單個屬性而編寫自定義佈局,那將會更好!你有沒有試過寫一個自定義的CollectionViewLayout?這太亂了嗎? – Jean 2013-04-22 06:39:31
@Jean我用更好的解決方案更新了答案,不使用自定義佈局,而是修改流佈局。 – iwasrobbed 2013-04-29 13:53:28