为 Bar 按钮项目和色调添加 Bg
Posted
技术标签:
【中文标题】为 Bar 按钮项目和色调添加 Bg【英文标题】:adding Bg for Bar button item and tint color 【发布时间】:2015-12-31 12:07:32 【问题描述】:我以编程方式创建了一个条形按钮项。现在它的外观线简单文本。我需要设置没有边框的背景颜色,还需要以编程方式设置色调颜色。 这是我创建条形按钮项的代码:
UIBarButtonItem *callBtn = [[UIBarButtonItem alloc] initWithTitle:@"Call Me" style:UIBarButtonItemStylePlain target:self action:@selector(signUpButtonTapped:)];
self.navigationItem.rightBarButtonItem = callBtn;
而且背景颜色应该是:#F9F9F9
色调颜色应该是:00ACC1
请帮我做
我需要这样的图片:
【问题讨论】:
【参考方案1】:使用自定义按钮进行自定义控制 遵循代码可能会有所帮助
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];
【讨论】:
我需要设置左栏按钮项目。我在 imagview 中出现initwithfram: imageview.bound
错误
不要只是复制粘贴,根据需要进行调整,您可能还需要设置色调,背景和前景色,快乐编码:)
不,我是 ios 新手。这就是为什么不知道我是否需要为我的 uibutton 创建框架以显示背景颜色
已更新,只需使用颜色而不是 yourColor,您将拥有所需的按钮
让我们continue this discussion in chat。【参考方案2】:
在您的 Appdelegate 中设置 Bar tint:
- (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;
【讨论】:
我们不应该在 APPDELEGATE 中添加任何代码..这是我们的规则以上是关于为 Bar 按钮项目和色调添加 Bg的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 7 中为 uinavigation 栏设置色调颜色而不中断栏按钮项目 [重复]
更改 UIAlertview 和 UIActionsheet 按钮的色调颜色