放置在UIViewController中时,UICollectionView交互不起作用

时间:2018-08-21 23:38:07

标签: ios swift uicollectionview viewcontroller

我有一个分段控制器,可以在三个不同的视图之间切换。作为我创建的容器

let contentContainer = UIViewController() 

此contentContainer固定在我的segmentedController下方。

在我的HomeViewController中,我实例化了三个视图:

let businessViewController = BusinessViewController(collectionViewLayout: UICollectionViewFlowLayout())
let listViewController = ListViewController(collectionViewLayout: UICollectionViewFlowLayout())
let mapViewController = MapViewController()

这是我添加视图的方式

fileprivate func add(asChildViewController viewController: UIViewController) {
    contentContainer.addChildViewController(viewController)
    contentContainer.view.addSubview(viewController.view)
    viewController.view.frame = view.bounds

    viewController.didMove(toParentViewController: self)
}

当我尝试滚动浏览 businessViewController 时,它不会滚动。是的,我同时设置了

collectionView?.isScrollEnabled = true
collectionView?.isUserInteractionEnabled = true

为了测试,我实际上甚至在businessViewController上添加了这个touchesBegan方法,以查看我的收藏夹视图是否会注册触摸。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    print("print")
}

不是。我怀疑这与以下事实有关:我已将这些CollectionViews放置在contentContainer中,并且这禁用了交互,但是我不知道解决此问题的最佳方法是什么。

0 个答案:

没有答案