在 IOS 中如果我們想操縱一些東西,基於目前的檢視,我們可以使用工具列(toolbar)。
例如將電子郵件應用程式的收件箱項選擇刪除,做標誌,回復等。如下所示。
重要的屬性
barStyle
items
-(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]; }
為了解所執行的操作,我們新增 UILabel 在 ViewController.xib 中並建立一個 IBOutlet 的 UILabel,並將它命名為 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. }
現在,當我們執行程式時,我們會得到下面的輸出。
點選 tool1 和 tool2 欄按鈕,我們得到