我真的试图像Instagram的按钮那样做一个按钮(rightBarButtonItem),我认为不可能设置背景图像&同时将图像转换为按钮。
见
**
**
NSDictionary *faTextAttributes = @{ UITextAttributeFont : [UIFont fontWithName:@"Arial" size: 12],
UITextAttributeTextColor : [UIColor whiteColor],
UITextAttributeTextShadowColor: [UIColor blackColor],
UITextAttributeTextShadowOffset: [NSValue valueWithCGSize: CGSizeMake(0,0)] };
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
setTitleTextAttributes:faTextAttributes forState:UIControlStateNormal];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
setTitleTextAttributes:faTextAttributes forState:UIControlStateHighlighted];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
setBackgroundImage:[UIImage imageNamed:@"bar"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
setBackgroundImage:[UIImage imageNamed:@"bar"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
这里是图片:
背景图片(2x)http://d.pr/i/BYS9
刷新图片(2x)http://d.pr/i/Hg5u
我正在寻找与Instagram应用程序相同的按钮,在背景图像中设置刷新图像。
希望你帮我解决这个问题。
答案 0 :(得分:2)
不幸的是,UIBarButtonItem不是UIButton的子类,因此没有UIButton所具有的复杂属性和可定制性。 Instagram实现此按钮的方式是只有一个图像是覆盖在背景图像上的刷新图像。按下按钮时,它们会隐藏项目并用风车将其替换。
或者您可以创建自定义按钮,将所需属性添加到该按钮,然后使用该按钮创建条形项:
UIBarButton* button initWithCustomView:customButton;