Я создал собственный класс MyButton, расширенный с UIButton
. Затем добавил это внутри Identity Inspector
:
После этого измените тип кнопки на Custom :
Затем вы можете установить атрибуты как textColor
и UIFont
для вашего UIButton
для различных состояний:
Затем я также создал два метода внутри MyButton
класса, которые я должен вызывать внутри своего кода, когда я хочу, UIButton
чтобы отображалось как выделено:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
Вы должны установить titleColor
для обычного, выделенного и выбранного, UIControlState
потому что может быть более одного состояния одновременно в соответствии с документацией UIControlState
. Если вы не создадите эти методы, они UIButton
будут отображать выделение или выделение, но они не останутся в UIColor
настройках, которые вы установили внутри, UIInterface Builder
потому что они просто доступны для краткого отображения выделения, а не для отображения самого выделения.