代码之家  ›  专栏  ›  技术社区  ›  ingh.am

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

  •  10
  • ingh.am  · 技术社区  · 14 年前

    我有一个带有导航栏的UIView,我想添加一个类似于后退按钮的按钮。我没有使用UINavigationController,不知道没有它是否可以做到这一点?

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

    谢谢

    2 回复  |  直到 14 年前
        1
  •  16
  •   mowliv    11 年前

    你需要建立一个自定义堆栈 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委托。

        2
  •  1
  •   Greg Martin    14 年前

    您还可以通过修改 backBarButtonItem 在上一个视图控制器上(不是当前查看的控制器)。