2015-04-27 2 views
1

Я динамически создаю свои UILabels для крошечного калькулятора. Калькулятор берет два входа, количество дней и первоначальную оплату и выкачивает общую сумму денег за каждый день. Калькулятор принимает первоначальный взнос, удваивает его, и дает ответ в такой форме:Swift: добавление UILabel в UIScrollView не позволяет прокручивать

On day 1, daily pay earned was $2.00 
Total pay earned was $2.00 
On day 2, daily pay earned was $4.00 
Total pay earned was $6.00 
On day 3, daily pay earned was $8.00 
Total pay earned was $14.00 

Ниже приведен скриншот интерфейса: https://www.dropbox.com/s/wunbtzyqzenrwru/Screenshot%202015-04-27%2002.40.44.png?dl=0

Наряду с раскадровкой: https://www.dropbox.com/s/pzuouje60x7v7k0/Screenshot%202015-04-27%2002.41.49.png?dl=0

Где

@IBOutlet weak var ScrollView: UIScrollView! 

Ниже приводится код операции I d для создания меток. Проблема, скорее всего, связана с последней строкой.

for comments in printArr { 
    println(comments) 
    var label = UILabel(frame: CGRectMake(0, 0, 300, 42)) 
    label.numberOfLines = 2 
    label.backgroundColor = UIColor(red: 0.988, green: 0.431, blue: 0.318, alpha: 1.0) 
    label.textColor = UIColor.whiteColor() 
    label.center = CGPointMake(200, 0 + spacer) 
    label.textAlignment = NSTextAlignment.Center 
    label.font = UIFont(name: label.font.fontName, size: 12) 
    label.text = comments 
    spacer = spacer + 50 
    self.ScrollView.addSubview(label) 
} 

Любые указатели были бы очень благодарны!

ответ

3

Просто добавить subview недостаточно. Вам нужно установить вид прокрутки contentSize, чтобы он прокручивался.

self.ScrollView.contentSize = TOTAL_SIZE_OF_ALL_YOUR_LABEL 
+0

полностью пропустил, что D: Используя ваше предложение, я решил это сделать это: вар heightScroll = CGFloat (printArr.count * 50) ; ScrollView.contentSize = CGSizeMake (300, heightScroll + CGFloat (30)) – Adib

+0

Рад помочь. :) – skyline75489

2

Вы должны установить правильный scrollView.contentSize. Это прямоугольник, который вы можете прокручивать. Например, этот код устанавливает contentView в 2 раза высоты UIWindow:

let fullScreenRect = UIScreen.mainScreen().applicationFrame 
let scrollView = UIScrollView(frame: fullScreenRect) 
scrollView.contentSize = CGSizeMake(fullScreenRect.width, fullScreenRect.height*2.0) 
Смежные вопросы