UIToolbar控件代表工具条,该工具条本身可以被放在应用界面的任意位置。一般而言,工具条要么被放在应用界面的顶端,要么被放在应用界面的低端。

     UIToolBar继承了UIView,它通常仅作为多个UIBarButtonItem的容器,每个UIBarButtonItem代表工具条上的一个控件。UIToolBar件可配置的属性并不太多,通常可以指定如下两个属性。

         barStyle: 该属性指定工具条的风格,它支持UIBarStyleDefault(默认风格)、UIBarStyleBlack(黑色背景、白字风格)、UIBarStyleBlackOpaque(黑色不透明背景、白字风格)和UIBarStyleBlackTranslucent(黑色透明背景、白字风格)这些枚举值。

         items: 该属性值是一个NSArray对象,该NSArray对象包含多个BarButtonItem对象,每个BarButtonItem对象代表工具条上的一个控件。


//
//  ViewController.m
//  UIToolbarDemo
//
//  Created by Apple on 16/5/18.
//  Copyright © 2016年 Apple. All rights reserved.
//



#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    CGSize size = self.view.frame.size;
    // 创建一个工具条,并设置它的大小和位置
    UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 20, size.width, 46)];
    // 设置工具条的style
    [toolbar setBarStyle:UIBarStyleDefault];
    
    // 创建使用文本标题的UIBarButtonItem
    UIBarButtonItem* leftItem = [[UIBarButtonItem alloc] initWithTitle:@"左边" style:UIBarButtonItemStylePlain target:self action:@selector(onClick:)];
    [leftItem setTag:1];
    
    // 创建使用自定义图片的UIBarButtonItem
    UIBarButtonItem* centerItem = [[UIBarButtonItem alloc]
                                   initWithImage:[UIImage imageNamed:@"heart.gif"]
                                   style:UIBarButtonItemStylePlain
                                   target:self
                                   action:@selector(onClick:)];
    [centerItem setTag:2];
    // 创建使用系统图标的UIBarButtonItem
    UIBarButtonItem* rightItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(onClick:)];
    [rightItem setTag:3];
    // 为工具条设置工具按钮
    NSArray* barButtonItems = [NSArray arrayWithObjects:leftItem,centerItem,rightItem, nil];
    
    [toolbar setItems:barButtonItems animated:YES];
    // 将工具条添加到当前应用的界面中
    [self.view addSubview:toolbar];
    
}

- (void)onClick:(id) sender {
    NSString* title = @"";
    switch ([sender tag]) {
        case 1:
            title = @"文字";
            break;
        case 2:
            title = @"自定义图片";
            break;
        case 3:
            title = @"系统图标";
            break;
        default:
            break;
    }
    
    // 使用UIAlertView显示用户点击了哪个按钮
    NSString* msg = [NSString stringWithFormat:@"您点击了【%@】按钮"
                     , title];
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示"
                                                    message:msg
                                                   delegate:nil
                                          cancelButtonTitle:@"确定"
                                          otherButtonTitles: nil];
    [alert show];
    
}

@end

    效果图如下:

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐