2015-05-22 3 views
0

У меня будет около 12+ (любое несколько из четырех строк) изображений, которые я хочу иметь в ScrollView. См. Пример ниже, 12 кругов (с последней строкой, отрезанной бит) - это UIImageViews.Как добавить много элементов UIImageView внутри ScrollView?

Я не могу добавить UIImageViews внутри ScrollView. Ширина, высота Scrollview составляет 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

Смежные вопросы