В iOS 7, как изменить цвет параметров в моем UIActionSheet?

Я использую зеленый цвет как "цвет действия" во всем приложении, и я хочу, чтобы параметры в моем UIActionSheets были зелеными, а также для согласованности. Как изменить цвет параметров 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]];

Надеюсь, это поможет вам:)