导航栏中的按钮颜色 - iPhone

9

如何将这个黄色按钮的色调设置为灰色?我尝试添加图像,但没有成功。

这是屏幕截图:

alt text

这是我的当前代码:

- (id)initWithStyle:(UITableViewStyle)style {
    if (self = [super initWithStyle:style]) {

        UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
                                      initWithTitle:NSLocalizedString(@"Settings", @"")
                                      style:UIBarButtonItemStyleDone
                                      target:self
                                      action:@selector(GoToSettings)];
        [addButton setImage:[[UIImage imageNamed:@"bg_table.png"] retain]];

        self.navigationItem.rightBarButtonItem = addButton;
        self.navigationItem.hidesBackButton = TRUE;
        self.view.backgroundColor = [UIColor blackColor];
    }
    return self;
}
6个回答

12
self.navigationItem.rightBarButtonItem.tintColor = [UIColor colorWithRed:0.1f green:0.66f blue:0.26f alpha:0.7];

5

从iOS 5.0开始,您可以使用以下方法:

    [[UINavigationBar appearance] setTintColor:[UIColor yellowColor]];

4
 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
 [button setBackgroundImage:[UIImage imageNamed:@"button_main.png"]
                                       forState:UIControlStateNormal];
 [button addTarget:self action:@selector(GotoSettings)
              forControlEvents:UIControlEventTouchUpInside];
 button.frame = CGRectMake(x, y, x1, x2);

 UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:menu];
 self.navigationItem.rightBarButtonItem = menuButton;

 [button release];
 [menuButton release];

工作正常,但如何设置按钮的标题? - Navnath Godse

3
没有您的自定义图像是不可能的。

1
它可以被染成一些颜色吗?例如灰色? - Mladen
1
addButton.tintColor = [UIColor grayColor];addButton.tintColor = [UIColor grayColor]; - charliehorse55

1

实际上,不使用图像也可以制作按钮。

viewController.navigationController.navigationBar.tintColor = 
    [UIColor colorWithRed:0.16f green:0.36f blue:0.46 alpha:0.8];

这会改变导航栏的颜色而不是按钮。 - jim.huang
但您可以通过以下方式设置按钮色调,请参见:http://stackoverflow.com/questions/8220715/how-to-set-custom-uinavigationbarbutton-color - Dan J
反转它,你可以改变按钮或文本的颜色。 - Hanuman
可能与此无关,但这个答案帮了我。我用它来设置工具栏的颜色:toolbar.tintColor = self.navigationController.navigationBar.tintColor; 然后将工具栏添加到导航控制器中。同样的方法也可以改变UIButton的颜色!! - Hanuman

0

当您设置导航栏中按钮的图像时,您可能希望为其设置UIImageRenderingModeAlwaysOriginal

[addButton setImage:[[[UIImage imageNamed:@"bg_table.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] retain]];

这里是参考资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接