在iOS 7中,如何更改UIActionSheet中选项的颜色?

时间:2013-10-06 18:27:20

标签: ios objective-c ios7 uiactionsheet

我在整个应用程序中使用绿色作为“动作颜色”,我希望我的UIActionSheets中的选项也是绿色的,以保持一致性。如何将UIActionSheet选项的颜色从蓝色更改为绿色?

3 个答案:

答案 0 :(得分:28)

利用willPresentActionSheet的{​​{1}}委托方法更改操作表按钮颜色。

UIActionSheet

答案 1 :(得分:18)

你可以这样做:

// 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子类化并使用此代码。

答案 2 :(得分:0)

您可以使用AppDelegate didFinishLaunchingWithOptions方法上的这个简短函数轻松更改应用程序的色调颜色。

[[UIView appearance] setTintColor:[UIColor redColor]];

希望它会对你有所帮助:)。