2016-05-10 4 views
2

Я не могу получить эту работу, и этот код не внутри viewDidLoad()Изменение размера шрифта с помощью UISlider

@IBOutlet weak var label: UILabel! 
@IBOutlet weak var slider: UISlider! 

@IBAction func slider(sender: UISlider) { 
    let senderValue = CGFloat(sender.value) 
    label?.font = UIFont(name: (label?.font.fontName)!, size:senderValue * 20) 
    label?.sizeToFit() 

} 

Если вы могли бы помочь в любом случае, что было бы здорово.

screenshot http://i68.tinypic.com/2cz8upv.png

+1

В чем проблема? Вы подтвердили, что вы вызываете свой «слайдер:' func? Вы уверены, что шрифт ярлыка установлен вначале? – rmaddy

+0

если вы получите значение слайдера, в чем проблема –

+0

Я пытаюсь увеличить мой размер и уменьшить размер, и этого просто не произойдет –

ответ

1

код не должен быть внутри viewDidLoad.

Вы используете autoLayout для размещения своего вида?

Это должно работать:

@IBOutlet weak var label: UILabel! 
@IBOutlet weak var slider: UISlider! 

@IBAction func sliderAction(sender: AnyObject) { 
    print("Slider value \(slider.value)") 

    self.label.font = UIFont.systemFontOfSize(CGFloat(slider.value * 20.0)) 
} 

Проверьте:

  • объект UIFont правильно инициализирован.
  • Удалить label?.sizeToFit. Обычно текст метки нарисован с помощью шрифта, указанного в свойстве шрифта.
  • Ограничения заданы на объекте UILabel.
+0

Я добавил недостающие ограничения для UISlider и UILabel, я удалил ярлык? .sizeToFit, как вы сказали. Да, я использую autoLayout для размещения моего представления, не уверен, что вы подразумеваете, правильно инициализируя UIFont. Просто обновил мой вопрос с изображением. –

+0

Можете ли вы поделиться своим кодом (быстрый файл + xib + fontFile), чтобы мы могли взглянуть? Я тестировал решение выше, и он работает так, как должно быть. –

+0

https://www.dropbox.com/s/di2l79dqhnpvoct/slider.xcodeproj.zip?dl=0 –

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