在iPhone导航栏上绘制自定义后退按钮

时间:2010-11-23 19:53:06

标签: iphone objective-c uinavigationcontroller uinavigationbar back-button

我有一个带有NavigationBar的UIView,我想添加一个看起来像后退按钮样式的按钮。我没有使用UINavigationController,并想知道如果没有它可以完成吗?

按钮的样式应如下所示:alt text

由于

2 个答案:

答案 0 :(得分:16)

您需要设置UINavigationItem个对象的自定义堆栈并将其推送到UINavigationBar。这是我知道获得真正后退按钮的唯一方法。我没有测试过这段代码,但你应该这样做:

UINavigationItem *previousItem =
    [[[UINavigationItem alloc] initWithTitle:@"Back title"] autorelease];

UINavigationItem *currentItem =
    [[[UINavigationItem alloc] initWithTitle:@"Main Title"] autorelease];

[navigationBar setItems:[NSArray arrayWithObjects:previousItem, currentItem, nil]
               animated:YES];

要处理按钮按下的时间,您应将自己设置为导航栏的委托并实现UINavigationBarDelegate委托。

答案 1 :(得分:1)

您还可以通过修改上一个视图控制器上的backBarButtonItem(而不是当前查看的控制器)来更新此项。