Mad*_*bæk 294

示例代码来设置rightbuttonNavigationBar.

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
    style:UIBarButtonItemStyleDone target:nil action:nil];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[bar pushNavigationItem:item animated:NO];
Run Code Online (Sandbox Code Playgroud)

但通常你会有一个NavigationController,让你写:

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
    style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
Run Code Online (Sandbox Code Playgroud)

  • 这应该是initWithBarButtonSystemItem:UIBarButtonSystemItemDone以避免警告. (3认同)
  • 在这个例子中,我不明白"bar"来自哪里.UINavigationItem的默认顶栏属性是什么? (2认同)

Ama*_*mer 20

上面的答案是好的,但我想用更多的提示充实它们:

如果你想修改后退按钮的标题(箭头 - 看起来在导航栏左侧)你必须在PREVIOUS视图控制器中进行,而不是它将显示的那个.这就像是说"嘿,如果你曾经在另一个视频控制器之上推动另一个视图控制器,则调用后退按钮"返回"(或其他)而不是默认值."

如果要在特殊状态下隐藏后退按钮,例如在显示UIPickerView时,请使用self.navigationItem.hidesBackButton = YES;并记住在离开特殊状态时将其设置回来.

如果要显示其中一个特殊符号按钮,请使用initWithBarButtonSystemItem:target:action值为的表单UIBarButtonSystemItemAdd

请记住,该符号的含义取决于您,但请注意人机界面指南.使用UIBarButtonSystemItemAdd表示删除项目可能会导致您的申请被拒绝.


Ole*_*nov 11

将自定义按钮添加到导航栏(使用buttonItem的图像并指定操作方法(void)openView {}和).

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 32, 32);
[button setImage:[UIImage imageNamed:@"settings_b.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(openView) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *barButton=[[UIBarButtonItem alloc] init];
[barButton setCustomView:button];
self.navigationItem.rightBarButtonItem=barButton;

[button release];
[barButton release];
Run Code Online (Sandbox Code Playgroud)


Tib*_*abo 7

下面的示例将在右侧导航栏上显示一个标题为"联系人"的按钮.它的动作从viewcontroller调用一个名为"contact"的方法.没有此行,右侧按钮不可见.

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Contact"
                                                                          style:UIBarButtonItemStylePlain target:self action:@selector(contact:)];;
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述