簡體   English   中英

UIColViewView里面的UITableView處理觸摸。

[英]UITableView inside UICollectionView handling touches.

集合視圖由一行水平對齊的單元格組成,其大小與集合視圖的邊界大小相同,單個單元格填充整個屏幕。

問題是集合視圖似乎攔截了所有的平底鍋。 如何將它們轉發到表格中,這樣我也可以垂直滾動表格。

我希望將垂直平移傳送到單元格內的表格,以便它可以向上和向下滾動。 我希望將水平平移傳送到集合視圖,因此它可以水平滾動。

有任何想法嗎? 謝謝。

對於使用storyBoard的CollectionView內的UITableView,請按照以下步驟操作:

-Drag CollectionView到UIViewController,將數據源拖到UIViewController(不要拖動委托)。 在ViewController.m中添加數據源方法

-Create Cell:CollectionViewCell類。 在storyBoard到Cell類中選擇Cell類,指定重用ID。

-Drag tableView里面的collectionCell square。 委托,數據源也拖到CollecionCell Square。 添加tableView數據源,在Cell.m中委托

在其中實現tableViewDidSelect時創建CellDelegate。 將此委托轉移到UIViewController以執行其他操作

示例代碼: https//github.com/lequysang/github_zip/blob/master/TableViewInCollection.zip

Swift2更新 - 我們不需要執行上述所有步驟。 只需使控制器成為tableview和collection視圖的委托和數據源就可以了。

我已經能夠在不使用故事板的情況下完成這項工作 - 盡管我使用XIB作為我的觀點,但只是添加了Autolayout規則。 所有自定義(顏色,字體,標簽等)都在代碼中設置。 在任何情況下,這也適用於以編程方式構建的單元格。

怎么做:

  • 要記住的最重要的事情是將自定義視圖添加到單元格的contentView屬性不是單元格本身 如果您將XIB用於自定義UICollectionViewCell ,請將其留空。 實例化您的自定義視圖( UITableView所在的位置),然后將其添加為UICollectionViewCellcontentView的子視圖。 如果直接在集合視圖單元格中添加表格, 則表格視圖不會垂直滾動

  • 實施shouldSelectItemAtIndexPathshouldHighlightItemAtIndexPath的的UICollectionViewDelegate並都返回false ,讓攻上收集觀察室不用於內部表格視圖水龍頭攔截。

適用於iOS 9+的Xcode 7.3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM