删除Swift中UIScollView顶部的空间

时间:2018-04-29 18:54:06

标签: swift uiscrollview imageview scrollview iphone-x

我创建了一个ScrollView和一个ImageView:

let scrollView: UIScrollView = {
    let scroll = UIScrollView()
    scroll.backgroundColor = UIColor.red
    scroll.contentSize.height = 1234
    scroll.translatesAutoresizingMaskIntoConstraints = false
    return scroll
}()

let filmImageView: UIImageView = {
    let imageView = UIImageView()
    imageView.contentMode = .scaleAspectFill
    imageView.backgroundColor = UIColor.blue
    imageView.clipsToBounds = true
    imageView.translatesAutoresizingMaskIntoConstraints = false
    return imageView
}()

我已经在约束中添加了这些约束,如下所示:

self.view.addSubview(scrollView)
scrollView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true
scrollView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true

scrollView.addSubview(filmImageView)
filmImageView.widthAnchor.constraint(equalToConstant: self.view.frame.width).isActive = true
filmImageView.topAnchor.constraint(equalTo: scrollView.topAnchor, constant: 0).isActive = true
filmImageView.heightAnchor.constraint(equalToConstant: 350).isActive = true

一切正常,但仅在iPhone X上,imageView并未位于屏幕顶部。见下图。 (我将滚动视图背景颜色设置为红色,以便您可以看到)

enter image description here

我已尝试将代码添加到scrollView

scroll.contentInset = UIEdgeInsets.zero
scroll.scrollIndicatorInsets = UIEdgeInsets.zero
scroll.contentOffset = CGPoint(x: 0.0, y: 0.0)

同时:

self.automaticallyAdjustsScrollViewInsets = false

但它没有改变。我无法在互联网上找到任何关于如何让我的图像坐在iPhone X的滚动视图顶部的任何内容。所有其他iPhone设备都显示这一点。

1 个答案:

答案 0 :(得分:0)

对于scrollView:

将contentInsets设置为“从不”而不是“始终”为我解决了问题

enter image description here