Для чего-то более многоразового использования вы можете это рассмотреть, так как он не нарушает принцип DRY. Добавьте это как категорию в UIButton.
- (void)oka_setTitleColor:(UIColor *)color forStates:(NSArray *)states;
{
[states enumerateObjectsUsingBlock:^(NSNumber *state, NSUInteger idx, BOOL *stop) {
[self setTitleColor:color forState:[state integerValue]];
}];
}
пример использования для вашего случая:
[self oka_setTitleColor:[UIColor darkTextColor]
forStates:@[@(UIControlStateNormal), @(UIControlStateHighlighted), @(UIControlStateSelected)]];