iOS - 工具栏



工具栏使用

如果我们希望基于当前视图对某些内容进行操作,则可以使用工具栏。

示例是带有一个收件箱项目,带有删除、收藏、回复等选项的电子邮件应用程序。如下所示。

iOS Tutorial

重要属性

  • barStyle
  • items

添加自定义方法 addToolbar

-(void)addToolbar {
   UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] 
   initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
   target:nil action:nil];
   UIBarButtonItem *customItem1 = [[UIBarButtonItem alloc]
   initWithTitle:@"Tool1" style:UIBarButtonItemStyleBordered 
   target:self action:@selector(toolBarItem1:)];
   UIBarButtonItem *customItem2 = [[UIBarButtonItem alloc]
   initWithTitle:@"Tool2" style:UIBarButtonItemStyleDone 
   target:self action:@selector(toolBarItem2:)];
   NSArray *toolbarItems = [NSArray arrayWithObjects: 
   customItem1,spaceItem, customItem2, nil];
   UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:
   CGRectMake(0, 366+54, 320, 50)];
   [toolbar setBarStyle:UIBarStyleBlackOpaque];
   [self.view addSubview:toolbar];
   [toolbar setItems:toolbarItems];
}

为了知道执行的操作,我们可以在 ViewController.xib 中添加一个 UILabel,并为 UILabel 创建一个 IBoutlet,并将其命名为 label

我们还需要添加两种方法才能对工具栏项目执行操作,如下所示。

-(IBAction)toolBarItem1:(id)sender {
   [label setText:@"Tool 1 Selected"];
}

-(IBAction)toolBarItem2:(id)sender {
   [label setText:@"Tool 2 Selected"];
}

更新 ViewController.m 中的 viewDidLoad,如下所示 −

- (void)viewDidLoad {
   [super viewDidLoad];
   
   // The method hideStatusbar called after 2 seconds
   [self addToolbar];
   // Do any additional setup after loading the view, typically from a nib.
}

输出

当我们运行应用程序时,我们将获得以下输出 −

iOS Tutorial

单击 tool1 和 tool2 栏按钮,我们将获得以下内容 −

iOS Tutorial
ios_ui_elements.htm
广告