我有一个分段控制器,可以在三个不同的视图之间切换。作为我创建的容器
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中,并且这禁用了交互,但是我不知道解决此问题的最佳方法是什么。