更改标准弹出操作上按钮的颜色

时间:2009-09-14 14:00:18

标签: iphone button colors

我在我的iphone应用程序中使用标准弹出操作(弹出屏幕底部)。这有2个按钮“ok”和“cancel”。似乎标准配色方案是将顶部按钮设置为红色。我想改变它,所以顶部按钮是绿色的。我一直在谷歌搜索,无法找到解决方案。任何想法都会很棒。感谢

3 个答案:

答案 0 :(得分:1)

您可以浏览ActionSheet(我假设您使用UIActionSheet类)子视图 - 就像那样:

NSArray* subViews = [aSheet subviews];
for (UIView* sView in subViews)
{
    ...
}

然后根据需要更改子视图属性。

您也可以在没有任何按钮的情况下创建UIActionSheet:

UIActionSheet* aSheet = [[UIActionSheet alloc] initWithTitle:@"\n\n\n" delegate:self cancelButtonTitle:nil  destructiveButtonTitle:nil otherButtonTitles:nil];

然后创建自己的自定义按钮并将其添加到ActionSheet视图中。 (将更多\ n放在标题上以放大纸张高度)

答案 1 :(得分:1)

我假设您指的是UIActionSheet。在UIActionSheet中,您可以定义一个取消操作并具有黑色背景的按钮,一个标记破坏性操作并具有红色背景的按钮,以及具有白色背景的所有其他按钮。哪个选项对应于使用– initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:初始化UIActionSheet时可以指定哪类操作。

iPhone Human Interface Guidelines中解释了UIActionSheet的设计,包括为什么你应该只为按钮使用这些颜色。我会在这方面遵循Apple的建议,因为它们会使您的应用程序更易于使用。

答案 2 :(得分:1)

UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@""
                          delegate:self 
                          cancelButtonTitle:@"Cancel" 
                          destructiveButtonTitle:nil,@"Mail",@"Facebook",@"Twitter",nil
                          otherButtonTitles:nil];
NSArray *buttons = [action subviews];