viewController中pageControl的动画无处不在

时间:2018-07-29 09:45:59

标签: swift xcode swift4 xcode9

在我的viewController中,它是我的scrollView的委托

override func viewWillAppear(_ animated: Bool) {
    slides = loadSlides()
    setupSlideScrollView(slides: slides)

    pageControl.numberOfPages = slides.count
    pageControl.currentPage = 0
    view.bringSubview(toFront: pageControl)

    textField.becomeFirstResponder()
}

func loadSlides() -> [Slide] {

    let slide1: Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
    slide1.quizLabel.text = "This is slide1"
    slide1.hintLabel.text = "yeah"

    let slide2: Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
    slide2.quizLabel.text = "This is slide2"
    slide2.hintLabel.text = "YEAH"

    let slides = [slide1, slide2]
    return slides
}

func setupSlideScrollView(slides : [Slide]) {
    let width = view.frame.width
    let height = view.frame.height
    scrollView.frame = CGRect(x: 0,
                              y: 0,
                              width: width,
                              height: height)
    scrollView.contentSize = CGSize(width: CGFloat(slides.count) * width, height: height)
    scrollView.isPagingEnabled = true

    for slide in slides {
        slide.quizLabel.textColor = UIColor.white
        slide.quizLabel.font = UIFont(name: (textField.font?.fontName)!, size: 20)

        slide.hintLabel.textColor = UIColor.lightGray
        slide.hintLabel.font = UIFont(name: (textField.font?.fontName)!, size: 18)

        slide.frame = CGRect(x: CGFloat(slides.index(of: slide)!) * width,
                             y: 0,
                             width: width,
                             height: height)
        scrollView.addSubview(slide)
    }
}

运行时,pageControl会以滑动动画显示。看来它是从视图的原点滑落的。我不知道为什么会这样。

pageControl位于顶部

enter image description here

我的segue设置如下

My segue settings

p.s。另外,无论如何要解决滑动标签和光标的类似问题?

感谢您的帮助!

0 个答案:

没有答案