如何在UIActionSheet - iPad中更改突出显示的按钮颜色

时间:2012-02-04 17:47:33

标签: ipad uibutton uiactionsheet uicolor

我会更改iPad应用程序中UIActionSheet中按钮的突出显示颜色,因为我需要更改另一种颜色的默认蓝色...我只找到使用未记录功能的解决方案,也许这是唯一的方法这个 !但我会避免使用可能阻止我进入App Store的解决方案......

要链接的任何想法或github项目?

2 个答案:

答案 0 :(得分:2)

我这样解决了:

   - (void)willPresentActionSheet:(UIActionSheet *)actionSheet {

    //Gets an array af all of the subviews of our actionSheet
    NSArray *subviews = [actionSheet subviews];

    for (UIView *v in subviews) {
        if ([v isKindOfClass:[UIButton class]]) {
            UIButton *b = (UIButton*)v;
            [b setBackgroundImage:[UIImage imageNamed:@"backActionSheetHighlighted.png"] forState:UIControlStateHighlighted];
            [b setBackgroundImage:[UIImage imageNamed:@"backActionSheet.png"] forState:UIControlStateNormal];
        }
    }   
}

结果如下:

enter image description here

答案 1 :(得分:1)

点击该链接,您会发现如何在操作表http://www.ifans.com/forums/showthread.php?t=301851中添加子视图。然后在按钮中你可以试试这个:

[myButton setBackgroundImageByColor:[UIColor greenColor] forState:UIControlStateHighlighted ];