0

只是试图从图像中向导航栏添加一个按钮。

代码:

UIBarButtonItem *newConvoButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"convos_new.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(newConvoInit:)];
self.navigationItem.rightBarButtonItem = newConvoButton;

结果:

1 (它应该只是背景中没有蓝色按钮的深色图像。)

4

1 回答 1

2

对于您想要的东西,这可能是矫枉过正。但我有一种很好的感觉,这会让你的生活变得更轻松。下面将给你一个没有任何UIBarButtonItem属性的图像。

UIImage *menuImage = [UIImage imageNamed:@"navBarMenuButton.png"];
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
leftButton.frame = CGRectMake(0, 0, menuImage.size.width, menuImage.size.height);
[leftButton setBackgroundImage:menuImage forState:UIControlStateNormal];
aController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];

这个方法实现了一个 custom UIButton,给定UIImage你正在使用的框架,除了你选择的图像添加到你的UINavigationBar.

一个好处是你不必担心重新调整任何东西的大小,以防图像在未来发生变化,因为框架继承自UIImage.

祝你好运!

于 2013-06-19T21:33:13.347 回答