要求:
我尝试过的事情:
我尝试使用tableview,scroll view,但是没有运气。最后要尝试使用集合视图,请问有人可以帮助我如何进行集合视图。如果使用集合视图,将来还会出现任何复杂情况。
答案 0 :(得分:1)
StackView
CollectionView
TableView
注意:您可以同时使用CollectionView
或TableView
,但我都希望两者都不同,这样我就不必在委托人和数据源中添加条件,并且可以管理容易。选择就是您喜欢的。
现在您的UI设计看起来像这样
根据需要在CollectionView
和TableView
中设置数据。
要切换左菜单,只需对greenButton动作使用以下一行代码。
@IBAction func btnToggle(_ sender: Any) {
colView.isHidden = !colView.isHidden
}
用于简单动画
@IBAction func btnToggle(_ sender: Any) {
UIView.animate(withDuration: 0.3) {
self.colView.isHidden = !self.colView.isHidden
}
}
输出:
编辑
您可以在scrollview中使用stackView并关闭colview和tblView滚动。检查以下内容:
其他代码工作
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
colView.isScrollEnabled = false
tblView.isScrollEnabled = false
colView.reloadData()
tblView.reloadData()
scrollView.contentSize = CGSize(width: self.view.frame.width,
height: max(colView.contentSize.height, tblView.contentSize.height))
stackHeight.constant = scrollView.contentSize.height
}
注意::这可能会导致一些意外的输出(可能是/不能),因此您需要注意这一点。
输出:
答案 1 :(得分:0)
您需要的是具有自定义布局的UICollectionView。您可以使用这种方法来达到所需的效果。
教程的基调是如何实现自己的自定义布局。 Here是其中之一