我有两个viewControllers。一个是主页,另一个是详细信息页面。如果我使它们成为窗口的根视图控制器,则它们如下所示:这是我的主页
但是当我将主页设为根视图控制器并推送详细视图控制器以显示时,它看起来像这样:
所以这是我的detailviewController。它具有一个scrollview和uistackview。未使用情节提要。
let scrollView: UIScrollView = {
let scrollView = UIScrollView()
scrollView.translatesAutoresizingMaskIntoConstraints = false
return scrollView
}()
let scrollViewContainer: UIStackView = {
let view = UIStackView()
view.axis = .vertical
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
这是约束:
view.addSubview(scrollView)
scrollView.addSubview(scrollViewContainer)
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
scrollViewContainer.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
scrollViewContainer.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
scrollViewContainer.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
scrollViewContainer.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
// this is important for scrolling
scrollViewContainer.widthAnchor.constraint(equalTo: scrollView.widthAnchor).isActive = true
我认为是与iOS 13相关的问题。
如果问题确实在约束中,请尝试将scrollView
-widthAnchor
设置为等于view
宽度,并且将centerXAnchor
设置为等于view
中心X。
我认为同时设置以下内容似乎是错误的:
scrollViewContainer.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
scrollViewContainer.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
和
scrollViewContainer.widthAnchor.constraint(equalTo: scrollView.widthAnchor).isActive = true
我建议保留最后一个约束,并相对于视图在centerX中对齐scrollViewContainer
。
希望对您有帮助。