Я пытаюсь изменить цвет кнопки в моем UIActionSheet
. Проблема (действительно странная проблема) заключается в том, что если ориентация устройства Пейзаж, цвет кнопки не меняется! Некоторые скриншот: Цель C UIActionSheet пользовательский цвет кнопки
Я не могу понять, почему!
Вот код:
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
[actionSheet.subviews enumerateObjectsUsingBlock:^(id _currentView, NSUInteger idx, BOOL *stop) {
if ([_currentView isKindOfClass:[UIButton class]]) {
[((UIButton *)_currentView).titleLabel setTextColor:[[MSAppDelegate sharedInstance] defaultColor]];
}
}];
/*
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
[button setTitleColor:[[MSAppDelegate sharedInstance] defaultColor] forState:UIControlStateNormal];
[button setTitleColor:[[MSAppDelegate sharedInstance] defaultColor] forState:UIControlStateSelected];
}
if ([subview isKindOfClass:[UILabel class]]) {
UILabel *label = (UILabel *)subview;
label.textColor = [[MSAppDelegate sharedInstance] defaultColor];
}
}
*/
}
Я также попытался комментируемой код, оба работают в портретном, но не в ландшафтном!
Кстати, в Пейзаже и в портрете код выполнен!
Если вы хотите увидеть весь код вот link
Спасибо заранее!
это перестанет работать, как скоро вам придется прокручивать ваши варианты. В этот момент все параметры будут представлены в UItableView. –
Вы ошибаетесь, это работает так, как должно быть! Это не проблема! –
очевидно, что это не так, либо вам не нужно было спрашивать, как его решить. В ландшафте ActionSheet представляет свои кнопки в TableView, в Portrait not. Поэтому ваш подход работает в портрете, но не в ландшафте. –