Я использую зеленый цвет как "цвет действия" во всем приложении, и я хочу, чтобы параметры в моем UIActionSheets были зелеными, а также для согласованности. Как изменить цвет параметров UIActionSheet на зеленый с синего?
В iOS 7, как изменить цвет параметров в моем UIActionSheet?
Ответ 1
Используйте метод делегата willPresentActionSheet
для UIActionSheet
, чтобы изменить цвет кнопки рабочего листа.
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
button.titleLabel.textColor = [UIColor greenColor];
}
}
}
Ответ 2
Вы можете сделать что-то вроде этого:
// Your code to instantiate the UIActionSheet
UIActionSheet *actionSheet = [[UIActionSheet alloc] init];
// Configure actionSheet
// Iterate through the sub views of the action sheet
for (id actionSheetSubview in actionSheet.subviews) {
// Change the font color if the sub view is a UIButton
if ([actionSheetSubview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)actionSheetSubview;
[button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor greenColor] forState:UIControlStateSelected];
[button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];
}
}
Если вы собираетесь многократно использовать это, я бы подклассифицировал UIActionSheet и использовал этот код.
Ответ 3
Вы можете легко изменить цвет оттенка приложения с помощью этой короткой функции в методе AppDelegate didFinishLaunchingWithOptions.
[[UIView appearance] setTintColor:[UIColor redColor]];
Надеюсь, это поможет вам:)