为 Bar button item 添加 Bg 和 tint color

adding Bg for Bar button item and tint color

我以编程方式创建了一个条形按钮项。现在它看起来是简单的文本。我需要设置无边框的背景颜色,还需要以编程方式设置色调颜色。 这是我创建条形按钮项目的代码:

UIBarButtonItem *callBtn = [[UIBarButtonItem alloc] initWithTitle:@"Call Me" style:UIBarButtonItemStylePlain target:self action:@selector(signUpButtonTapped:)];
    self.navigationItem.rightBarButtonItem = callBtn;

并且背景颜色应该:#F9F9F9

色调颜色应为:00ACC1

请帮我做一下

我需要这样的图片:

使用自定义按钮进行自定义控制 以下代码可能会有所帮助

 UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.frame = CGRectMake(0,0,60,30);
[button setBackgroundColor:[UIColor yourColor]];
[button setTitleColor:[UIColor yourColor] forState:UIControlStateNormal];
[button setTitle:@"Call Me" forState:UIControlStateNormal];
[button addTarget:self action:@selector(navigateToDiscussionScreen) forControlEvents:UIControlEventTouchUpInside];

UIView *view = [[UIView alloc] initWithFrame:button.bounds];
view.backgroundColor = [UIColor clearColor];
[view addSubview:button];
UIBarButtonItem *logoBtn = [[UIBarButtonItem alloc]initWithCustomView:view];

在您的 Appdelegate 中设置栏色调:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    UIColor *barColor = [UIColor colorWithRed:0 green:172/255.0 blue:193/255.0 alpha:1.0];
    [[UINavigationBar appearance]setBarTintColor: barColor];
    return YES;
}

现在在您的视图控制器中:

  UIButton *btn =  [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0,0,80,30);
    [btn addTarget:self action:@selector(signUpButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

    UIColor *barColor = [UIColor colorWithRed:0 green:172/255.0 blue:193/255.0 alpha:1.0];

    [btn setTitle:@"Call Me" forState:UIControlStateNormal];
    [btn setTitleColor:barColor forState:UIControlStateNormal];

    btn.backgroundColor = [UIColor lightGrayColor];

    UIBarButtonItem *callBtn =[[UIBarButtonItem alloc]initWithCustomView:btn];

    self.navigationItem.rightBarButtonItem = callBtn;