iOS中 UIToolBar 技术分享
2015-10-09 22:37
405 查看
UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏。当设置UIToolBar显示,或者存在UITabBarController且tabbar被隐藏的时候,toolbar就会显示出来。我们使用UIToolBar是由于它一直显示在屏幕底部,有时候我们需要在屏幕底部添加按钮或提示信息,就不需要另外创建一个UIView或其他视图了。因为创建UIView或其他视图需要适应屏幕尺寸,也会隐藏掉底部的视图显示,造成显示不完整的情况等。
fixbleSpace类型的BarButtonItem 主要用于工具条钮间距的调整.UIBarButtonSystemItem提供了一系列的系统按钮,其中有两个UIBarButtonSystemItemFlexibleSpace和UIBarButtonSystemItemFixedSpace
这俩不是按钮,而是调整按钮间距用的对象
AppDelegate.m
self.window.rootViewController = [[[UINavigationController alloc]initWithRootViewController:[RootViewController new]]autorelease];
/************************** UIToolBar *************************************/
//设置navigationController的toolbar为不隐藏
self.navigationController.toolbarHidden = NO;
//设置navigationController的toolbar的背景颜色
self.navigationController.toolbar.barTintColor = [UIColor orangeColor];
//下面生成3中常用的UIBarButtonItem 分别为:
//1. 系统提供的UIBarButtonItem类型
UIBarButtonItem * item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(cameraClick:)];
//2. 自定义显示内容的UIBarButtonItem类型
UIBarButtonItem * item2 = [[UIBarButtonItem alloc] initWithTitle:@"保存" style:UIBarButtonItemStylePlain target:self action:@selector(collectClick:)];
UIImage * image = [[UIImage imageNamed:@"pause"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
//3.自定义图片的UIBarButtonItem类型
UIBarButtonItem * item3 = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:@selector(imageClick:)];
//创建一个数组
NSArray * ary = [NSArray arrayWithObjects:item1, item2, item3, nil];
//将数组中的内容传递给navigationController的toolbarItems属性
self.toolbarItems = ary;
/********************* fixbleSpace类型的BarButtonItem **********************/
UIBarButtonItem * item4 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
UIBarButtonItem * item5 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
UIBarButtonItem * item6 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:nil action:nil];
UIBarButtonItem * item7 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];
// 不写默认靠左侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7, nil];
//自动调间距
NSArray * ary = [[NSArray alloc] initWithObjects: item4, self.flexibleSpace, item5, self.flexibleSpace, item6, self.flexibleSpace, item7, nil];
//靠左侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7, self.flexibleSpace, nil];
//靠右侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: self.flexibleSpace, item4, item5, item6, item7, nil];
self.toolbarItems = ary;
方法实现部分:
- (void)cameraClick:(UIBarButtonItem *)sender
{
NSLog(@"第一个被点击");
}
- (void)collectClick:(UIBarButtonItem *)sender
{
NSLog(@"第二个被点击");
}
- (void)imageClick:(UIBarButtonItem *)sender
{
NSLog(@"第三个被点击");
}
fixbleSpace类型的BarButtonItem 主要用于工具条钮间距的调整.UIBarButtonSystemItem提供了一系列的系统按钮,其中有两个UIBarButtonSystemItemFlexibleSpace和UIBarButtonSystemItemFixedSpace
这俩不是按钮,而是调整按钮间距用的对象
AppDelegate.m
self.window.rootViewController = [[[UINavigationController alloc]initWithRootViewController:[RootViewController new]]autorelease];
/************************** UIToolBar *************************************/
//设置navigationController的toolbar为不隐藏
self.navigationController.toolbarHidden = NO;
//设置navigationController的toolbar的背景颜色
self.navigationController.toolbar.barTintColor = [UIColor orangeColor];
//下面生成3中常用的UIBarButtonItem 分别为:
//1. 系统提供的UIBarButtonItem类型
UIBarButtonItem * item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(cameraClick:)];
//2. 自定义显示内容的UIBarButtonItem类型
UIBarButtonItem * item2 = [[UIBarButtonItem alloc] initWithTitle:@"保存" style:UIBarButtonItemStylePlain target:self action:@selector(collectClick:)];
UIImage * image = [[UIImage imageNamed:@"pause"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
//3.自定义图片的UIBarButtonItem类型
UIBarButtonItem * item3 = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:@selector(imageClick:)];
//创建一个数组
NSArray * ary = [NSArray arrayWithObjects:item1, item2, item3, nil];
//将数组中的内容传递给navigationController的toolbarItems属性
self.toolbarItems = ary;
/********************* fixbleSpace类型的BarButtonItem **********************/
UIBarButtonItem * item4 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
UIBarButtonItem * item5 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
UIBarButtonItem * item6 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:nil action:nil];
UIBarButtonItem * item7 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];
// 不写默认靠左侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7, nil];
//自动调间距
NSArray * ary = [[NSArray alloc] initWithObjects: item4, self.flexibleSpace, item5, self.flexibleSpace, item6, self.flexibleSpace, item7, nil];
//靠左侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7, self.flexibleSpace, nil];
//靠右侧显示
// NSArray * ary = [[NSArray alloc] initWithObjects: self.flexibleSpace, item4, item5, item6, item7, nil];
self.toolbarItems = ary;
方法实现部分:
- (void)cameraClick:(UIBarButtonItem *)sender
{
NSLog(@"第一个被点击");
}
- (void)collectClick:(UIBarButtonItem *)sender
{
NSLog(@"第二个被点击");
}
- (void)imageClick:(UIBarButtonItem *)sender
{
NSLog(@"第三个被点击");
}
相关文章推荐
- iOS中 UIToolBar 技术分享
- UITabBarController的用法 及使用系统风格Item
- UI第十七讲.图片异步加载(包括第三方), KVO, KVC
- hdu 1423 Greatest Common Increasing Subsequence 最长公共上升子序列
- ios可视化编程 UI高级 UI_13
- ios可视化编程 UI高级 UI_13
- java字符串拼接技巧(StringBuilder使用技巧)
- UINavigationBar美化
- 用plist建立UITabController
- ACM学习历程—HDU4746 Mophues(莫比乌斯)
- ios第三方数据请求 UI_15
- ios第三方数据请求 UI_15
- 关于UITableViewCell文字居中问题
- UIImage转Md5
- General Problem Solving Techniques [Intermediate-1]~G - The Bus Driver Problem
- [LeetCode]20. Unique Paths II唯一路径
- 【Foundation-86-3】#import <Foundation/NSValue.h> 初始化
- UINavigationController+storyboard
- General Problem Solving Techniques [Intermediate-1]~F - Tian Ji -- The Horse Racing
- 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘