Причина, по которой исходный код не работал, заключается в том, что вы передаете параметр UIControlEvents
вместо параметра UIControlState
.
[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
Это установит цвет для нормального состоянияи, если вы не установите цвета для других состояний, он будет сохраняться во всех состояниях.Чтобы изменить цвет для других состояний, просто вызовите тот же метод с другими состояниями (UIControlStateNormal
, UIControlStateHighlighted
, UIControlStateDisabled
, UIControlStateSelected
):
[b1 setTitleColor:[UIColor blueColor] forState:UIControlStateSelected];