2017-01-13 2 views
0

Я устанавливаю название моей кнопки с этой строки кода:UIButton этикетки показаны три точки

self.timerButton.setTitle(String(Int(duration)), for: .normal) 

Кнопка больше, 1/3 экрана, размер текста 60, это было прекрасно в моих предыдущих проектах, но теперь со значением duration изменений (от 120 до 0), текст часто показывает ... вместо этого, иногда даже половину числа, что в этом плохого?

Вот ограничение, приведенное в отладчике:

+1

Попробуйте self.timerButton.sizeToFit() – Bhumi

+0

Вы используете автоматическую компоновку в своем проекте? Потому что тогда это зависит от того, как устанавливаются ограничения. – Deny

+0

@Deny да есть ограничения –

ответ

0

@ Запретить Замечание очень полезно, я посмотрел в мои трудности и нашел я установил размер изображения кнопки с помощью этого метода:

self.contentEdgeInsets = UIEdgeInsets(top: (self.frame.height - imageSize)/2, left: (self.frame.width - imageSize)/2, bottom: (self.frame.height - imageSize)/2, right: (self.frame.width - imageSize)/2) 

, которые вызывают titleLabel «s размер, чтобы быть меньше, чем это должно быть, поэтому я изменил код выше этого:

self.imageEdgeInsets = UIEdgeInsets(top: (self.frame.height - imageSize)/2, left: (self.frame.width - imageSize)/2, bottom: (self.frame.height - imageSize)/2, right: (self.frame.width - imageSize)/2) 

тогда работал.

TL; DR

Проблема вызвана ограничениями.

0

Попробуйте это может помочь вам:

self.timerButton.titleLabel?.adjustsFontSizeToFitWidth = true