Я создал собственный класс 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потому что они просто доступны для краткого отображения выделения, а не для отображения самого выделения.