有一个橙色背景的scrollView,它有一个白色背景的图像,一个灰色标签和一个按钮。ScrollView填充整个屏幕,包括状态栏。我怎样才能使图像也进入状态栏,而不被附加到它的底部?
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
image.topAnchor.constraint(equalTo: scrollView.topAnchor),
image.leadingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.leadingAnchor),
image.trailingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.trailingAnchor),
image.heightAnchor.constraint(equalToConstant: 100),
label.topAnchor.constraint(equalTo: image.bottomAnchor),
label.leadingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.leadingAnchor),
label.trailingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.trailingAnchor),
label.heightAnchor.constraint(equalToConstant: 1000),
button.topAnchor.constraint(equalTo: label.bottomAnchor),
button.leadingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.leadingAnchor),
button.trailingAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.trailingAnchor),
button.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor)
])发布于 2022-04-16 21:09:59
到你最喜欢的搜索引擎去搜索UIScrollView contentLayoutGuide frameLayoutGuide
为了使内容滚动,需要对滚动视图的.contentLayoutGuide进行约束。
要正确调整内容的大小--例如填充滚动视图的宽度,因此我们只有垂直滚动--您需要对滚动视图的.frameLayoutGuide进行引导和尾随约束。
将您的约束条件与此进行比较:
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
image.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
image.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
image.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
image.heightAnchor.constraint(equalToConstant: 100),
// make the image view the Width of the scroll view
image.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
label.topAnchor.constraint(equalTo: image.bottomAnchor),
label.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
label.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
label.heightAnchor.constraint(equalToConstant: 1000),
// make the label the Width of the scroll view
label.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
button.topAnchor.constraint(equalTo: label.bottomAnchor),
button.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
button.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
// make the button the Width of the scroll view
button.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
button.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor)
])https://stackoverflow.com/questions/71895975
复制相似问题