PageControl не анимируется при переходе к следующей картинке - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть массив картинок, которые вставляются в imageView на новом ViewController.Я могу сделать так, чтобы мой pageControl показывал точки, но они не анимируются при переходе к следующей картинке.Любые идеи о том, что мне не хватает, поскольку я не могу понять это?Спасибо!

import UIKit
import GoogleMobileAds


class imageViewController: UIViewController,GADBannerViewDelegate, UIGestureRecognizerDelegate, UIScrollViewDelegate {

    var bannerView: GADBannerView!

    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var myImageView: UIImageView!
    @IBOutlet weak var pageControl: UIPageControl!


    var passedImage : UIImage! = nil
    var passedArray : [UIImage]!
    var index = 0


    override func viewDidLoad(){
        super.viewDidLoad()
        self.myImageView.image = passedArray.first

        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 5.0

        configurePageControl()


        //---------ADS----------------
        // In this case, we instantiate the banner with desired ad size.
        bannerView = GADBannerView(adSize: kGADAdSizeBanner)
        addBannerViewToView(bannerView)
    }

    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return myImageView
    }

    func configurePageControl() {
        self.pageControl.numberOfPages = passedArray.count
        self.pageControl.currentPage = 0
        self.pageControl.pageIndicatorTintColor = UIColor.black
    self.pageControl.currentPageIndicatorTintColor = UIColor.red
        self.view.addSubview(pageControl)

    }



    @IBAction func pictureswipe(_ sender: Any) {
        let pictureString = self.passedArray[index]
        self.myImageView.image = pictureString

        index = (index < passedArray.count-1) ? index+1 : 0
    }

    @IBAction func pictureswipeback(_ sender: Any) {
        let pictureString = self.passedArray[index]
        self.myImageView.image = pictureString

        index = (index > passedArray.count+1) ? index-1 : 0
    }

1 Ответ

0 голосов
/ 16 декабря 2018

Вам также необходимо обновить pageControl currentPage новым индексом, попробуйте обновить методы IBAction следующим образом.

    @IBAction func pictureswipe(_ sender: Any) {
    let pictureString = self.passedArray[index]
    self.myImageView.image = pictureString
    self.pageControl.currentPage = index
    index = (index < passedArray.count-1) ? index+1 : 0

}

@IBAction func pictureswipeback(_ sender: Any) {
    let pictureString = self.passedArray[index]
    self.myImageView.image = pictureString
    self.pageControl.currentPage = index
    index = (index > passedArray.count+1) ? index-1 : 0
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...