Swift3 带UIScrollView的图像滑块

Swift3 带UIScrollView的图像滑块,swift3,uiscrollview,Swift3,Uiscrollview,我正在制作一个每2秒自动滑动的图像滑块。我写的代码在没有幻灯片动画的情况下立即移动到下一个图像,我想通过显示滚动视图滚动来修复它,这是我的代码: var imagesArray = [UIImage]() static var i = 0 override func viewDidLoad() { super.viewDidLoad() imagesArray = [image1, image2, image3, image4] for i in 0..<imag

我正在制作一个每2秒自动滑动的图像滑块。我写的代码在没有幻灯片动画的情况下立即移动到下一个图像,我想通过显示滚动视图滚动来修复它,这是我的代码:

var imagesArray = [UIImage]()
static var i = 0

override func viewDidLoad() {
    super.viewDidLoad()
    imagesArray = [image1, image2, image3, image4]
    for i in 0..<imagesArray.count{
        let imageview = UIImageView()
        imageview.image = imagesArray[i]
        imageview.contentMode = .scaleAspectFit
        let xPosition = self.view.frame.width * CGFloat(i)
        imageview.frame = CGRect(x: xPosition, y: 0, width: self.imagesScrollView.frame.width, height: self.imagesScrollView.frame.height)
        imagesScrollView.contentSize.width = imagesScrollView.frame.width * CGFloat(i+1)
        imagesScrollView.addSubview(imageview)
    }
}

override func viewDidAppear(_ animated: Bool) {
    let scrollingTimer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(MenuViewController.newStartScrolling), userInfo: nil, repeats: true)
    scrollingTimer.fire()

func newStartScrolling()
{
    if MenuViewController.i == imagesArray.count {
        MenuViewController.i = 0
    }
    let x = CGFloat(MenuViewController.i) * imagesScrollView.frame.size.width
    imagesScrollView.contentOffset = CGPoint(x: x, y: 0)
    MenuViewController.i += 1
}
var-imagesArray=[UIImage]()
静态变量i=0
重写func viewDidLoad(){
super.viewDidLoad()
imagesArray=[image1,image2,image3,image4]
对于0..中的i,请尝试此代码

override func viewDidAppear(_ animated: Bool) {

    imagesArray = [UIImage(named: "apple.jpg")!, UIImage(named: "empire.jpg")!, UIImage(named: "ottawa.jpg")!]

    imagesScrollView.contentSize = CGSize(width: imagesScrollView.frame.width * CGFloat(imagesArray.count), height: imagesScrollView.frame.height)
    for i in 0..<imagesArray.count{
        let imageview = UIImageView()
        imageview.image = imagesArray[i]
        imageview.contentMode = .scaleAspectFill
        imageview.clipsToBounds = true
        let xPosition = self.imagesScrollView.frame.width * CGFloat(i)
        imageview.frame = CGRect(x: xPosition, y: 0, width: self.imagesScrollView.frame.width, height: self.imagesScrollView.frame.height)
        print(imageview)
        imagesScrollView.addSubview(imageview)
    }

    let scrollingTimer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(ViewController.newStartScrolling), userInfo: nil, repeats: true)
    scrollingTimer.fire()
}
func newStartScrolling()
{
    if ViewController.i == imagesArray.count {
        ViewController.i = 0
    }
    let x = CGFloat(ViewController.i) * imagesScrollView.frame.size.width
    imagesScrollView.setContentOffset(CGPoint(x: x, y: 0), animated: true)
    ViewController.i += 1
}
覆盖函数视图显示(uu动画:Bool){
imagesArray=[UIImage(名为:“apple.jpg”)!、UIImage(名为:“empire.jpg”)!、UIImage(名为:“渥太华.jpg”)!]
imagesScrollView.contentSize=CGSize(宽度:imagesScrollView.frame.width*CGFloat(imagesArray.count),高度:imagesScrollView.frame.height)
对于0..中的i,请尝试此代码

override func viewDidAppear(_ animated: Bool) {

    imagesArray = [UIImage(named: "apple.jpg")!, UIImage(named: "empire.jpg")!, UIImage(named: "ottawa.jpg")!]

    imagesScrollView.contentSize = CGSize(width: imagesScrollView.frame.width * CGFloat(imagesArray.count), height: imagesScrollView.frame.height)
    for i in 0..<imagesArray.count{
        let imageview = UIImageView()
        imageview.image = imagesArray[i]
        imageview.contentMode = .scaleAspectFill
        imageview.clipsToBounds = true
        let xPosition = self.imagesScrollView.frame.width * CGFloat(i)
        imageview.frame = CGRect(x: xPosition, y: 0, width: self.imagesScrollView.frame.width, height: self.imagesScrollView.frame.height)
        print(imageview)
        imagesScrollView.addSubview(imageview)
    }

    let scrollingTimer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(ViewController.newStartScrolling), userInfo: nil, repeats: true)
    scrollingTimer.fire()
}
func newStartScrolling()
{
    if ViewController.i == imagesArray.count {
        ViewController.i = 0
    }
    let x = CGFloat(ViewController.i) * imagesScrollView.frame.size.width
    imagesScrollView.setContentOffset(CGPoint(x: x, y: 0), animated: true)
    ViewController.i += 1
}
覆盖函数视图显示(uu动画:Bool){
imagesArray=[UIImage(名为:“apple.jpg”)!、UIImage(名为:“empire.jpg”)!、UIImage(名为:“渥太华.jpg”)!]
imagesScrollView.contentSize=CGSize(宽度:imagesScrollView.frame.width*CGFloat(imagesArray.count),高度:imagesScrollView.frame.height)
对于0中的i..
@IBOutlet弱var imageView:UIImageView!
var i=Int()
重写func viewDidLoad(){
super.viewDidLoad()
Timer.scheduledTimer(时间间隔:3.0,目标:self,选择器:#选择器(imageChange),userInfo:nil,repeats:true)
//加载视图后执行任何其他设置。
}
@objc func imageChange(){
self.imageView.image=images[i]
如果我
@ibvar-imageView:UIImageView!
var i=Int()
重写func viewDidLoad(){
super.viewDidLoad()
Timer.scheduledTimer(时间间隔:3.0,目标:self,选择器:#选择器(imageChange),userInfo:nil,repeats:true)
//加载视图后执行任何其他设置。
}
@objc func imageChange(){
self.imageView.image=images[i]
如果我