在viewDidLoad时更改ScrollView位置

时间:2017-05-17 16:10:22

标签: ios swift3 uiscrollview

我刚开始使用ScrollViews。我想知道是否有人可以帮助我。我有一个看起来像这样的scrollView。

enter image description here

这是它在模拟器中加载时的外观。

enter image description here

现在我正在尝试做的是在viewDidLoad时更改scrollView的x位置。当它加载时我想在右侧显示蓝色视图而不是在左侧显示红色视图。因此,当viewDidLoad。

时,它看起来像这样

enter image description here

那么我怎样才能更改scrollView x.position所以当它加载时,scrollView位置一直到右侧而不是左侧。所以我必须向左滚动才能到达红色视图。非常感谢有关更改scrollView位置的任何帮助或任何非常好的教程。谢谢:))

我的代码如何。

class HeroDetailVC: UIViewController {

//MARK: - Outlets
@IBOutlet weak var heroBackgroundImageView: UIImageView!
@IBOutlet weak var heroBackgroundScrollView: UIScrollView!
@IBOutlet weak var mainScrollView: UIScrollView!


//MARK: - Properties
override var prefersStatusBarHidden: Bool { return true }
var heroBackgroundImageWidth: CGFloat = 0



override func viewDidLoad() {
    super.viewDidLoad()

    heroBackgroundImageWidth = heroBackgroundImageView.frame.size.width
    adjustHeroBackgroundImage()
}

override func viewDidLayoutSubviews() {
    adjustHeroBackgroundImage()
}


func adjustHeroBackgroundImage() {

    let screenSize = UIScreen.main.bounds.size
    let leftInset = screenSize.width - heroBackgroundImageWidth

    if leftInset < 0 {
        heroBackgroundScrollView.contentInset = UIEdgeInsets(top: 0, left: leftInset, bottom: 0, right: 0)
    } else {
        heroBackgroundScrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    }
}

0 个答案:

没有答案