这些是UIToolBar
图标和条形按钮图标的人机界面指南。
我想要的东西并不完全遵循HIG。
基本上我想要一个坚固的圆形和扁平的UIButton
,文字覆盖。 (但是,出于显而易见的原因,我不希望文本与图像分开)。
这可以完成吗?
您可以使用.cornerradius = 5.0绘制UIBarButtonItem
吗?我只相信UIButton
。
或者你可以使用蒙面的png图像作为UIBarButtonItem
,使用tintcolor来更改图像蒙版,并在顶部添加一些叠加文字吗?
或者您是否需要伪造/模仿创建UIToolbar
,并在UIView
底部创建一个44像素的lightGrey View
?
如何实现这一目标,是否会因违反HIG而被拒绝?
答案 0 :(得分:1)
您可以随时使用₹
&添加UIToolBar
。由于UIBarButtonItem
继承自UIBarButtonItem
&然后到UIBarItem
,您可以修改最少的功能。
使用以下代码在NSObject
中启动您的商品
这样,您就可以将自定义UIButton作为UIToolBar
。
要更改不同状态的按钮背景颜色,您可能必须按住按钮状态才能在数组中切换,并根据状态更改颜色
以下是新的代码:
UIToolBarItem
现在是按钮的目标方法
UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,55, self.view.bounds.size.width, 55)];
toolbar.tintColor = [UIColor redColor];
[self.view addSubview:toolbar];
NSMutableArray *tempArray = [[NSMutableArray alloc]init];
buttonStateArray = [[NSMutableArray alloc]init];
for(int i =0; i < 3; i++){
UIButton *tempButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
tempButton.backgroundColor = [UIColor redColor];
tempButton.layer.cornerRadius = 8;
tempButton.layer.borderWidth = 2;
tempButton.tag = i;
tempButton.layer.borderColor = [UIColor blackColor].CGColor;
[tempButton setTitle:[NSString stringWithFormat:@"Hello %d", i] forState:UIControlStateNormal];
[tempButton addTarget:self action:@selector(displayTapped:) forControlEvents:UIControlEventTouchUpInside];
[tempArray addObject:[[UIBarButtonItem alloc]initWithCustomView:tempButton]];
[buttonStateArray addObject:[NSNumber numberWithBool:NO]];
}
[toolbar setItems:tempArray];
}
此处更新了屏幕
答案 1 :(得分:0)
您可以使用条形按钮的initWithCustomView:
初始化程序。