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