3

默认解决方案不合适:

  1. 更改以前的 ViewController 标题 - 我需要自己控制按钮的功能
  2. 制作 leftBarButtonItem 并隐藏 backBarButtonItem - leftBarButtonItem 看起来不像默认的 backBarButtonItem。
4

4 回答 4

13

下面是一个创建自定义 leftBarButtonItem 的示例:

UIImage *buttonImage = [UIImage imageNamed:@"backbutton.png"];
UIButton *aButton = [UIbutton buttonWithType:UIButtonTypeCustom];
[aButton setImage:buttonImage forState:UIControlStateNormal];
aButton.frame = CGRectMake(0.0,0.0,buttonImage.size.width,buttonImage.size.height);
[aButton addTarget:self action:@selector(aSelector) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:aButton];
self.navigationItem.leftButtonItem = backButton;

希望能帮助到你...

编辑:

尝试这个...

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"yourimage.jpg"] style:UIBarButtonItemStyleBordered target:self action:@selector(aSelector)];
self.navigationItem.leftBarButtonItem = backButton;

我不记得后退按钮是什么类型的按钮,尝试将默认样式更改为其他。祝你好运!

于 2011-09-13T09:24:11.213 回答
0

You can assign your custom views as the bar buttons to your navigation controller, like this:

UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView:yourCustomizedControl];
[yourCustomizedControl release];

self.navigationItem.leftBarButtonItem = customItem;
[customItem release];

Check this Apple documentation for a more detailed explanation, if you want.

于 2011-09-13T07:14:39.760 回答
0

这是添加类似后退按钮的技巧:

UINavigationItem* backNavigationItem = [[UINavigationItem alloc] initWithTitle:@"Back"];
[_navigationBar pushNavigationItem:backNavigationItem animated:NO];
[backNavigationItem release];

您可以通过以下方式添加更多项目(如标题、右键):

UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Title"];
navigationItem.rightBarButtonItem = // Some UIBarButtonItem
[_navigationBar pushNavigationItem:navigationItem animated:NO];
[navigationItem release];
于 2011-09-14T11:20:07.613 回答
0

只需创建一个自定义barbuttonitem并使用类似于后退按钮项的图片对其进行自定义。您可以从导航堆栈中的视图控制器获取其文本。

然后处理水龙头以实现所需的效果

于 2011-09-13T07:08:32.223 回答