10

アプリ全体で「アクションの色」として緑を使用しています。一貫性を保つために、UIActionSheets のオプションも緑にしたいと考えています。UIActionSheet オプションの色を青から緑に変更するにはどうすればよいですか?

4

3 に答える 3

28

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];
        }
    }
}
于 2013-10-06T20:56:57.213 に答える
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 をサブクラス化し、このコードを使用します。

于 2013-10-06T18:39:37.223 に答える
0

AppDelegate didFinishLaunchingWithOptions メソッドでこの短い関数を使用して、アプリケーションの色合いを簡単に変更できます。

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

それがあなたを助けることを願っています:)

于 2015-12-02T13:43:30.843 に答える