xcode - Swift ScrollView 分页只显示数组中的最后一张图像

标签 xcode swift scrollview paging

我已经设置了一个启用分页的 ScrollView 。 ScrollView 内部是一个 UIImageView (tutorialImageView),它链接到 Storyboard上的 ImageView 。

我有一组图像,我想将它们作为页面显示在 ScrollView 中。

一切似乎都正常(正确分页),但只显示从数组加载的最后一张图像。因此第 1、2、3 页都是空白,然后 slide4.png 显示在第 4 页上。

    import Foundation
import UIKit

class TutorialViewController: UIViewController {

    @IBOutlet weak var back: UIButton?
    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var tutorialImageView: UIImageView?

    var slides:[UIImage] = [UIImage(named: "slide1.png")!, UIImage(named: "slide2.png")!, UIImage(named: "slide3.png")!, UIImage(named: "slide4.png")!]
    var frame: CGRect = CGRectMake(0, 0, 0, 0)

    override func viewDidLoad() {
        super.viewDidLoad()

        for index in 0..<slides.count {

            frame.origin.x = self.scrollView!.frame.size.width * CGFloat(index)
            frame.size = self.scrollView!.frame.size
            self.scrollView!.pagingEnabled = true

            var subView = UIView(frame: frame)

            tutorialImageView!.image = slides[index]
            subView.addSubview(tutorialImageView!)
            self.scrollView!.addSubview(subView)
        }

        self.scrollView!.contentSize = CGSizeMake(self.scrollView!.frame.size.width * CGFloat(slides.count), self.scrollView!.frame.size.height)

    }

我正在努力寻找我所缺少的东西。提前致谢

最佳答案

试试这个,只需从您的代码中取出一些东西,它应该可以工作。

全局变量:

var imageWidth: CGFloat = 310
var imageHeight: CGFloat = 400
var xPosition: CGFloat = 0
var scrollViewContentSize: CGFloat = 0    
var myImage: UIImage = //array of UIImage

创建进入 ScrollView 的 UIImageView。

for var index = 0; index < myImages.count; index++ {

        var myImage: UIImage = myImages[index]!

        var myImageView: UIImageView = UIImageView()
        myImageView.image = myImage

        myImageView.frame.size.width = imageWidth
        myImageView.frame.size.height = imageHeight
        myImageView.frame.origin.x = xPosition
        myImageView.frame.origin.y = 0

        imageScrollView.addSubview(myImageView)

        xPosition += imageWidth
        scrollViewContentSize += imageWidth

        imageScrollView.contentSize = CGSize(width: scrollViewContentSize, height: imageHeight)

    }

关于xcode - Swift ScrollView 分页只显示数组中的最后一张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32315820/

相关文章:

ios - 为什么不是所有的 NSLayoutconstraints 都随动画变化,如何解决?

ios - 使用 AVAudioPlayer 播放多个音频文件

ios - 如何在嵌套 ScrollView 中禁用弹性滚动

scrollview - 著名的 : scrollview within scrollview

xcode - DVTCoreSimulatorAdditionsErrorDomain Xcode 10GM

ios - 循环 ImageView 动画 iOS

ios - 使用方法减少代码

android - 如何使表格布局垂直和水平滚动

ios - 生成模拟器构建

ios - 在ios中等待sql查询响应