工具栏:ToolBar

工具栏项目:Bar Button Item
调节按钮位置的固定调节:Fixed Space Bar Button Item
调节按钮位置的灵活调节:Flexible Space Bar Button
 
ToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的Custom、也可以是系统自带的BarButtonSystemItem ),视图控制器可以通过工具栏项对视图中内容进行操作。
 
按钮Bar Button Item有三种Style:Plain(可使用自定义图片),Boarded和Done。其他属性则望文生义即可。要使按钮不可用,更改Enable属性即可。而Tool Bar也可以做一些调整(主要也是调整style)。需要注意的是,Plain类型的按钮是没有title的,即为Null。
 
要说明的是,Fixed Space Bar Button Item是固定的(也可调)间距,而Flexible Space Bar Button Item则会自动调整现有按钮使最大限度占据工具栏的所有空间。
 
重点是:我们可以利用toolbarItems来设置工具栏上的按钮,一般APP下面看到有3-4个选项比如“首页”、“设置”这些都可以作为UIBarButtonItem对象被加载到这个工具栏上,当然,从toolbarItems名字看出来,它有个“s”,所以我们得单独的把UIBarButtonItem对象装到一个数组中,然后把这个数组赋值给toolbarItems。或者用setToolbarItems方法将所有的工具项添加到工具栏上,即最后将toolbaritems添加到toolbar工具栏中。
 
例如:通过toolbaritems来设置工具栏的显示项,数组中是UIBarButtonItem的实例
//barButtonitem实例
UIBarButtonItem *item1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd   target:self action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks   target:self action:nil];
//item的间隔,不会显示出来,会自动计算间隔,就是上面的调节
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace     target:self action:nil];
//将工具栏项目:barButtonItem和调节实例放入数组中
NSArray *arr1=[[NSArray alloc]initWithObject:item1,spaceItem,item2,spaceItem,nil];
//通过toolbarItems属性将按钮放入到工具栏上
self.toolbarItems = arr;
或者通过setToolbarItems方法将按钮放入到工具栏上
[self setToolbarItems:arr]; 

iOS:UIToolBar、toolbarItems、BarButtonItem的几种关系的更多相关文章

  1. 06 (OC)* iOS中UI类之间的继承关系

    iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...

  2. iOS 开发之模糊效果的五种实现

    前言 在iOS开发中我们经常会用到模糊效果使我们的界面更加美观,而iOS本身也提供了几种达到模糊效果的API,如:Core Image,使用Accelerate.Framework中的vImage A ...

  3. UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  4. uml的四种关系

    UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...

  5. UML类图画法及其之间的几种关系(转)

    UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...

  6. 【转】UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  7. UML类图五种关系与代码的对应关系

    转: UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承 一.依赖关系: (一)说明 虚线+箭头 可描述为:Uses a 依赖是类的五种关系中耦合最小的一种关系 ...

  8. UML 之 四种关系

    学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是  关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...

  9. 转 UML类图几种关系的总结

    UML类图几种关系的总结   在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregati ...

随机推荐

  1. Django实战(5):引入bootstrap,设置静态资源

    之前生成了Product类的scaffold,但是如同rails的开发者David所讲的那样,scaffold几乎没什么用.所以按照<Agile Web Development with Rai ...

  2. gitlab-针对API,获取私有令牌

    Gitlab有一个强大的API系统,几乎所有的功能都可以在web中执行,当然也可以通过API来执行,为了使用API,需要从Gitlab中获取私有token. 执行步骤: 1. 登陆Gitlab服务器 ...

  3. Filter的应用--权限过滤

    因为项目比较长,需要一步步进行实现,所以分解成一个一个需求. 一:需求一 1.需求一 可以看某人的权限,同时,可以对这个用户进行权限的修改. 2.程序实现 3.程序目录 4.User.java pac ...

  4. poj1730 - Perfect Pth Powers(完全平方数)(水题)

    /* 以前做的一道水题,再做精度控制又出了错///... */ 题目大意: 求最大完全平方数,一个数b(不超过int范围),n=b^p,使得给定n,p最大: 题目给你一个数n,求p : 解题思路: 不 ...

  5. eclipse使用小技巧

    1.eclipse中SVN无版本信息显示,window-preference-general-appeerance-label decoration-svn勾上,显示有关项目中受 SVN 控制的资源的 ...

  6. Python发送带附件的邮件

    看别人的博客就不要在往别人的邮箱里发东西了行不行, 有点素质可以吗!!! 写出来分享还不知道珍惜!!!!! #-*-encoding:utf-8 -*- import os import smtpli ...

  7. 模拟Djangoweb框架

    一.需求 1.访问127.0.0.1/login,访问到login页面 2.登陆成功,跳转到登陆后的页面 3.登陆失败,跳转到登陆失败的页面 4.用户账号密码验证 二.目录结构 三.代码 day01. ...

  8. QT学习笔记3:QT中语法说明

    一.Qt 类中Q_OBJECT的作用 QObject 是所有Qt对象的基类. QObject 是Qt模块的核心.它的最主要特征是关于对象间无缝通信的机制:信号与槽.使用connect()建立信号到槽的 ...

  9. 利用meterpreter下的Venom免杀后门

    转载请注明作者:admin-神风 下载地址:https://github.com/r00t-3xp10it/venom .从Github上下载框架: tar.gz OR zip OR git clon ...

  10. Shell 学习笔记之函数

    hello_fun(){ echo "hello world" echo "$1" # 第一个参数,其中第0个参数为文件本身 } hello_fun 1 在函数 ...