我正在创建一个 ScrollView ,并在 ScrollView 中添加了一个 UIView。然而,在 uiview 上设置的每个属性(如颜色)都不会显示。我将 UIView 的背景设置为蓝色但不显示。我不知道我是否做错了什么,下面是我的代码
let scrollView: UIScrollView = {
let srv = UIScrollView()
srv.translatesAutoresizingMaskIntoConstraints = false
return srv
}()
let contentView: UIView = {
let cview = UIView()
cview.backgroundColor = .blue
cview.translatesAutoresizingMaskIntoConstraints = false
return cview
}()
在我的 viewDidLoad 中我添加了这个
view.addSubview(scrollView)
scrollView.addSubview(contentView)
NSLayoutConstraint.activate([
scrollView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
scrollView.widthAnchor.constraint(equalTo: view.widthAnchor),
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
contentView.centerXAnchor.constraint(equalTo: scrollView.centerXAnchor),
contentView.widthAnchor.constraint(equalTo: scrollView.widthAnchor),
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor),
contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),])
最佳答案
scrollview
期望它的大小来自它的 content ,所以设置宽度和高度到 contentView
相对于主外部 View
NSLayoutConstraint.activate([
scrollView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
scrollView.widthAnchor.constraint(equalTo: view.widthAnchor),
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
contentView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
contentView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor),
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor),
contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor)
contentView.widthAnchor.constraint(equalTo: view.widthAnchor),
contentView.heightAnchor.constraint(equalTo: view.heightAnchor,multiplier:2.0)
])
关于ios - UI 元素在 UIScrollView swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56415064/