【问题标题】:Swift scrollview paging only showing last image from arraySwift 滚动视图分页仅显示数组中的最后一个图像
【发布时间】:2015-08-31 16:30:43
【问题描述】:

我设置了一个启用分页的滚动视图。滚动视图内部是一个 UIImageView (tutorialImageView),它链接到故事板上的图像视图。

我有一组图像,我想在滚动视图中显示为页面。

一切似乎工作正常(分页正确),但只有从数组加载的最后一个图像显示。因此第 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)

    }

我很难看到我错过了什么。提前致谢

【问题讨论】:

    标签: xcode swift scrollview paging


    【解决方案1】:

    试试这个,只需从你的代码中删除一些东西,它应该可以工作。

    全局变量:

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

    创建进入滚动视图的 UIImageViews。

    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)
    
        }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多