为左右按钮设置自定义UINavigationBar图像

时间:2012-12-21 23:45:18

标签: ios image cocoa-touch button uinavigationbar

这就是我在故事板上的内容:
enter image description here

我想改变两个按钮图像。我有一个13x46的图像,但我在使用它作为按钮的图像时遇到了问题。我一直在寻找一些代码,但我对它们并不是很成功 有什么想法吗?

1 个答案:

答案 0 :(得分:7)

这是非常简单的东西,只需在alloc / initWithImage中添加几个条形按钮项,然后应用它们。

UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myImage"] style:UIBarButtonItemStyleBordered target:self action:@selector(someMethod)];
UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myImage"] style:UIBarButtonItemStyleBordered target:self action:@selector(someMethod)];

[[self navigationItem] setLeftBarButtonItem:leftItem];
[[self navigationItem] setRightBarButtonItem:rightItem];

这当然假设您实际使用的是导航控制器。如果您只有一个在界面构建器中拖放的导航栏,那么您需要为导航栏创建一个IBOutlet,将其链接起来,然后使用以下内容:

UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
[item setRightBarButtonItem:rightItem];
[myNavBar pushNavigationItem:item animated:NO];

您可能需要在两者之间添加一个灵活的空间。