2015-12-23 141 views
1

我正在設計一個應用程序,其中有一個屏幕,我有一個水平滾動視圖,根據我在數組中的數據數量動態地填充UIViews。我通過編程方式做了同樣的事情。下面我提到了我的方法。水平滾動視圖中的自定義視圖。可能嗎?

1)我把水平滾動的滾動視圖,並創建了我的課的參考。

2)我編程添加視圖按我的代碼 -

var imagevieww = UIImageView() 

    @IBOutlet weak var hrzntlscrl: UIView! 

    @IBOutlet weak var scrollview: UIScrollView! 


    override func viewDidLoad() 

    { 
     super.viewDidLoad() 
     let viewcount = 15 




     for var i = 0; i < viewcount; i++ 
     { 

      let viewnew = UIView(frame: CGRectMake(hrzntlscrl.frame.origin.x+110*CGFloat(i), 0, 100.0, hrzntlscrl.frame.height)) 
      viewnew.backgroundColor = UIColor.orangeColor() 
      imagevieww = UIImageView(frame: CGRectMake(0, 10, 100.0, 50)) 
      imagevieww.backgroundColor = UIColor.blackColor() 
      viewnew.addSubview(imagevieww) 

      scrollview.addSubview(viewnew) 
      } 

     } 

所以我只是想知道,而不是創建一個視圖和相應的子視圖如。這裏imageview和設置他們的位置和框架的大小編程方式,我可以有一個標準的自定義視圖在我的IB設計,​​並使用任何引用,而不是以編程方式創建一個for循環?如果我們能做到這一點,可以請你給我一些步驟。

回答

0

是的。這個有可能。您可以從筆尖實例化一個類

let customView: CustomView = NSBundle.mainBundle().loadNibNamed("CustomViewNibName", owner: self, options: nil)[safe: 0] as? CustomView 

您還需要水平滾動視圖的內容大小設置爲所有視圖的組合寬度。

但我認爲使用滾動視圖的instad可以更好地服務於您的用例,UICollectionView在更簡單的實現中執行了所有這些操作。

+0

感謝您的回答。我對iOS開發非常陌生。我可以使用.xib來做到這一點。據我所知,.xib比.nib更高效。無論如何,由於缺乏有效的材料,我還沒有嘗試過這兩種方法。你可以請分享任何鏈接有例子嗎? –

+0

是的。 Xib只是被編譯成一個筆尖,所以我覺得更容易談論筆尖,但是你肯定應該用xib來構建。 – Moriya

+0

好吧,請分享任何鏈接,以使用.xib文件創建自定義視圖。這對我很有幫助。謝謝。 –