Я создал пользовательский класс MyButton , расширенный с UIButton
.Затем добавили это в Identity Inspector
:
. После этого измените тип кнопки на Пользов. :
Затем вы можете установить атрибуты, такие как 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
, потому что они просто доступны для краткого отображения выделения, а недля отображения самого выбора.