2015-05-22 45 views
0

我將有大約12 +(我想每個4行的任何倍數)圖像,我想在一個滾動視圖。看下面的例子,12個圓圈(最後一行被切掉了)是UIImageViews。如何在ScrollView中添加多個UIImageViews?

我無法在ScrollView中添加UIImageViews。寬度,滾動視圖的高度爲250,250

這是我曾嘗試:

func setScrollView() { 
    scrollView_avatars.contentSize = CGSizeMake(250,300); 

    let imgView1: UIImageView = UIImageView(image: UIImage(named: "img1.jpg")) 

    let imgView2: UIImageView = UIImageView(image: UIImage(named: "img2.jpg")) 



    let imgView3: UIImageView = UIImageView(image: UIImage(named: "img3.jpg")) 

    scrollView_avatars.addSubview(imgView1) 

    scrollView_avatars.addSubview(imgView2) 

    scrollView_avatars.addSubview(imgView3) 

} 

的iOS小白這裏

enter image description here

上面我的代碼給了我很奇怪的輸出,我認爲UIImageViews的大小設置不正確。

我不知道如何將UIImageViews定位在ScrollView中,就像只有圖像的一部分是可見的。

+0

你需要設置每個圖像視圖的「幀」。 – rmaddy

+1

您可以使用UICollectionView更簡單地做到這一點 – Paulw11

回答

0

正如@rmaddy所說,你需要在你的視圖上設置框架屬性。您需要根據視圖網格中的行/列位置進行數學計算。

如果您使用的是AutoLayout,您可能需要生成約束來設置視圖的大小和位置。 (我還沒有嘗試在代碼中使用AutoLayout將滾動視圖添加到滾動視圖中,所以我不完全肯定會發生什麼情況,如果您只是設置了它們的框架而沒有定義約束條件。)

0

您需要聲明圖像視圖像這樣:

if let image = UIImage(named: "myImage"){ 
     let imageView = UIImageView(frame: CGRectMake(yourXpoint, yourYpoint, image.size.width, image.size.height)) 
     imageView.image = image 
    } 

其中yourXpoint和yourYpoint是您想要的圖像原點進行設置,你說要迅速您想要的圖像,是地方的,什麼是它的大小在哪裏這樣的。 如果讓圖片不存在,只是爲了安全。 另一個不錯的選擇是設置約束,因爲它會讓你的應用在不同的屏幕尺寸和方向上有一個很好的佈局

+1

您仍然需要爲每個圖像視圖提供不同的原點。 – rmaddy

+0

好點@rmaddy我編輯的帖子明確說,原點應該設置爲所需的位置不總是0,0。謝謝 – Icaro

相關問題