2016-02-19 18 views
2

Swift(iOS)問題:如何將UIImage數組插入子視圖?我想在視圖控制器中做一個水平滾動視圖,但很少有經驗。這裏是代碼:Swift(iOS)將UIImage數組插入子視圖?

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 

而這裏。爲什麼陣列圖片無法計數?

回答

0

您更好地利用UICollectionView上述目的

4

除非這些重複的圖案像,我想你想使用一個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) 
     } 



    } 
0

有關設置的backgroundColor調用的UIColor初始化:

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