Swift(iOS)将UIImage数组插入子视图?

Posted

技术标签:

【中文标题】Swift(iOS)将UIImage数组插入子视图?【英文标题】:Swift(iOS) inserting UIImage array to subview? 【发布时间】: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

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

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于Swift(iOS)将UIImage数组插入子视图?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift - 在 UIImage 上画线以保存到文件

swift ios数据持久化UIImage

iOS - Swift - UIImage 上的可点击区域

在 UIImage 上添加 TextViews - Swift - 以编程方式

UIImage 显示为不透明的正方形(IOS Swift)

如何将图像存储到 UIImage 数组(Swift)