【问题标题】:Swift(iOS) inserting UIImage array to subview?Swift(iOS)将UIImage数组插入子视图?
【发布时间】:2016-02-19 22:17:31
【问题描述】:

Swift(iOS) 问题:如何将 UIImage 数组插入子视图?我想在视图控制器中制作一个水平滚动视图,但对 swift 的经验很少。代码如下:

override func viewDidLoad() {
    super.viewDidLoad()

    configurePageControl()

    var pictures:[UIImage] = [ ]
    pictures.append(UIImage(named: "SOVERMENT1.jpg")!)
    pictures.append(UIImage(named: "SOVERMENT2.jpg")!)
    pictures.append(UIImage(named: "SOVERMENT3.jpg")!)
    pictures.append(UIImage(named: "SOVERMENT4.jpg")!)



    scrollView.delegate = self
    self.view.addSubview(scrollView)
    for index in 0..<4 {

        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)
        **subView.backgroundColor = [UIColor colorWithPatternImage : ]**
        self.scrollView.addSubview(subView)
    }

这是第一个问题。如何将图片插入 subview.backgroundColor?我搜索了1~2小时,但找不到任何答案。

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * 4, self.scrollView.frame.size.height)
    pageControl.addTarget(self, action: Selector("changePage:"), forControlEvents: UIControlEvents.ValueChanged)


}


func configurePageControl() {


   ** self.pageControl.numberOfPages = pictures.count **
    self.pageControl.currentPage = 0

还有这里。为什么数组图片不能统计?

【问题讨论】:

    标签: ios iphone arrays swift uiimage


    【解决方案1】:

    除非这些是可重复的图案图像,否则我认为您想使用 UIImageView。我也不认为您需要使用 UIPageControl,因为您只使用一个 UIViewController。你可以这样说:

        override func viewDidLoad() {
            super.viewDidLoad()
    
    
            var pictures:[UIImage] = [ ]
            pictures.append(UIImage(named: "SOVERMENT1.jpg")!)
            pictures.append(UIImage(named: "SOVERMENT2.jpg")!)
            pictures.append(UIImage(named: "SOVERMENT3.jpg")!)
            pictures.append(UIImage(named: "SOVERMENT4.jpg")!)
    
    
    
            self.scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * CGFloat(pictures.count), scrollView.frame.size.height)
            for index in 0..<pictures.count {
                var frame = CGRectZero
                frame.origin.x = scrollView.frame.size.width * CGFloat(index)
                frame.size = scrollView.frame.size
                scrollView.pagingEnabled = true
    
                var subView = UIImageView(frame: frame)
                subView.image = pictures[index]
                subView.contentMode = .ScaleAspectFit
                self.scrollView.addSubview(subView)
            }
    
    
    
        }
    

    【讨论】:

      【解决方案2】:

      您最好将 UICollectionView 用于此类目的

      【讨论】:

        【解决方案3】:

        要设置 backgroundColor,请调用 UIColor 初始化程序:

        for picture in pictures {
            subView.backgroundColor = UIColor(patternImage: picture)
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多