Im разрабатывает приложение с несколькими UIViewControllers
, содержащее компоненты UILabel. У UIViewControllers
есть одинаковые настройки для названия, субтитров, подтекста и/или текста. В каждом UIViewControllers
я постоянно менял размер шрифта, цвет и другие переменные, поэтому я хотел использовать что-то вроде стиля для всех компонентов UIView
, поэтому все изменения влияют на все компоненты во всех ViewControllers.Стилирование UILabel через все приложение
Я создал пользовательские классы UILabel
и связал их в своих раскадках с пользовательским классом, который реализует стиль по умолчанию. Но он работает неправильно.
class UICustomLabel: UILabel
{
override func layoutSubviews()
{
super.layoutSubviews()
self.font = UIFont(name: Style.FontNameDefault, size: Style.FontSizeDefault);
}
}
class UILabelTitle: UILabel
{
override func layoutSubviews()
{
super.layoutSubviews()
self.font = UIFont(name: Style.FontNameTitle, size: Style.FontSizeTitle);
}
}
Есть ли лучший способ соединить все компоненты UIView через все приложение так же?
Вы должны установить шрифт в конструкторе, после чего он будет вызываться после создания метки. Теперь шрифт вызывается каждый раз при изменении макета. – rckoenes
Oke, и если я исправлю это, это способ пойти или есть лучшее решение для стилизации всех UILabel в нескольких ViewControllers? – Jurdefur
Ну, это вопрос мнения, вы можете использовать ['UIAppearance proxy'] (https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAppearance_Protocol/index.html) или установить шрифт в 'loadView' каждого контроллера. Это действительно зависит от вас. – rckoenes