问题描述
在我的示例应用程序中,该视图在顶部和底部包含两个UIView。对于顶部的UIView是静态的,带有红色背景,但是对于底部的UIView,包含可滑动的UICollectionView,可以在同一视图中缝合不同的子视图。
我的当前问题是我无法使整个视图可滚动。请查看附件中的屏幕快照,了解应用程序中的当前情况。
我还附加了代码,说明如何通过创建UIScrollView并将两个UIView添加到它上来使其可滚动。但这仍然对我不起作用。
private let smallView = UIView(frame: CGRect(x: 0,y: 0,width: 375,height: 400))
private let slidingTabController = UISimpleSlidingTabController()
let scrollView: UIScrollView = {
let v = UIScrollView()
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = .yellow
return v
}()
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
private func setupUI(){
// view
view.backgroundColor = .white
// Setup Scroll View
self.view.addSubview(scrollView)
scrollView.isScrollEnabled = true
scrollView.isUserInteractionEnabled = true
scrollView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
scrollView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
// Red Small View
scrollView.addSubview(smallView)
smallView.backgroundColor = .red
smallView.translatesAutoresizingMaskIntoConstraints = false
smallView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
smallView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
smallView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
smallView.heightAnchor.constraint(equalToConstant: 400).isActive = true
// Sliding Tab View
scrollView.addSubview(slidingTabController.view)
slidingTabController.view.translatesAutoresizingMaskIntoConstraints = false
slidingTabController.view.topAnchor.constraint(equalTo: smallView.bottomAnchor).isActive = true
slidingTabController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
slidingTabController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
slidingTabController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
// navigation
navigationItem.title = "Sliding Tab Example"
navigationController?.navigationBar.barTintColor = .orange
navigationController?.navigationBar.isTranslucent = false
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
navigationController?.navigationBar.barStyle = .black
// MARK: slidingTabController
slidingTabController.addItem(item: SimpleItemViewControllerOne(),title: "First") // add first item
slidingTabController.addItem(item: SimpleItemViewControllerTwo(),title: "Second") // add second item
slidingTabController.addItem(item: SimpleItemViewControllerThree(),title: "Third") // add other item
slidingTabController.addItem(item: SimpleItemViewControllerThree(),title: "Forth") // add other item
slidingTabController.addItem(item: SimpleItemViewControllerThree(),title: "Fifth") // add other item
slidingTabController.addItem(item: SimpleItemViewControllerThree(),title: "Sixth") // add other item
slidingTabController.addItem(item: SimpleItemViewControllerThree(),title: "Seventh") // add other item
slidingTabController.setHeaderActiveColor(color: .white) // default blue
slidingTabController.setHeaderInActiveColor(color: .lightText) // default gray
slidingTabController.setHeaderBackgroundColor(color: .orange) // default white
slidingTabController.setCurrentPosition(position: 1) // default 0
slidingTabController.setStyle(style: .flexible) // default fixed
slidingTabController.build() // build
}
注意:我根据从https://github.com/erthru/SlidingTabsExample
下载的示例项目修改代码。解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)