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 上画线以保存到文件