Как мистер / мисс. Лягушка говорит, что установка заголовка для UIControlStateNormal обычно делает свое дело. Единственное исключение - если заголовки уже установлены для других состояний. UIControlState - это маска, поэтому вы можете прикрыть задницу следующим образом:
[button setTitle:@"Title" forState:UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected]
Если вы хотите быть кратким:
#define kAllControlStates (UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected)
[button setTitle:@"Title" forState:kAllControlStates];
Или краткий и непрозрачный:
[button setTitle:@"Title" forState:0xffff];
Обновление : Я должен был проверить это, прежде чем ответить. Оказывается, маска типа UIControlStateHighlighted|UIControlStateDisabled
указывает состояние, когда оба элемента управления выделены и отключены. Я неправильно предположил, что эта маска означает «выделено или отключено». В заключение, вам лучше ответить мистером Фрогом.