Добавление UIButton к результатам UIView в белом тексте - PullRequest
0 голосов
/ 01 мая 2019

A ViewController в проекте, написанном на Swift 5, неправильно отображает UIButtons.Когда я добавляю UIButton программно в UIView, он отображается с белым текстом вместо обычного синего цвета iOS.

Вот код, показывающий, как именно я добавляю кнопку в представление:

let goButton = UIButton(frame: CGRect(x: 20, y: 60, width: 60, height: 60))
goButton.setTitle("Go", for: .normal)
designerView.addSubview(goButton)

Screenshot of Issue

На снимке экрана я установил прозрачный фон, чтобы показать проблему, поскольку, когда он белый, добавленный программно не будет отображаться.

Я неесть какие-либо глобальные стили или расширения для кнопок.Я попытался удалить UIViewController и UIView, а затем снова добавить их, но это не помогло решить то, что я испытываю.

Это проблема настройки моей раскадровки?Нужно ли вручную устанавливать значения, вызывая setTitleColor?Разве кнопки не должны быть одинаковыми, добавляю ли я их через раскадровку или я добавляю их вручную по коду?

1 Ответ

0 голосов
/ 01 мая 2019

Вопрос в том, как создать кнопку. Вы должны использовать инициализатор init(type:), затем установить фрейм.

let goButton = UIButton(type: .system)
goButton.frame = CGRect(x: 20, y: 60, width: 60, height: 60)
goButton.setTitle("Go", for: .normal)

Это дает ожидаемый текст синей кнопки.

Установка type на .custom также дает белый текст, который вы получаете по умолчанию при использовании инициализатора init(frame:).

...