• iOS开发~interface Builder(简称 IB) 界面构建器


    1.interface Builder

    设置界面

       1.1 是什么?

    一个可视化的界面编辑工具软件,在xcode4之后整合到了xcode中

       1.2 作用?

    通过可视化的界面设置,能够少写或不写代码而完成界面的设计,从而减少在控制器的viewDidLoad中写的大量有关创建控件及设置属性的代码

      1.3 工作原理

    将界面所需控件的设置保存到xib文件中,在创建控制器实例的时候,系统会根据指定的xib文件来自动创建视图中的各个控件的实例、设置实例的属性,将其用于对控制器自带的视图的初始化中。所以,在创建控制器实例时,需要使用initWithNibName方法来指定有关视图的配置需要加载的文件是哪一个   ViewController* vc=[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];//参数1:文件名  参数2:nil通常

      1.4 所需文件

    XxxxYyyy.h 

    XxxxYyyy.m

    XxxxYyyy.xib     (xml  interface builder)

    2. IBOutlet,IBAction

      由于控制器的视图中所需的控件都由系统根据xib文件自动创建完成,所以view已经对这些控件对象是strong强引用了,但是,此时控制器无法访问系统创建的这些控件,于是需要通过特殊的方法来获取系统创建的这些对象的引用。

     1.1使用方式

    1. 如果,是对IB中的对象添加属性访问,让控件成为一个外界可以访问的输出口,则通过连线的方式,使其成为控制其的IBOutlet属性

    @property (weak, nonatomic) IBOutlet UILabel *infolabel;//通过连线后生成的属性(Ctrl+鼠标左键)

    2.如果,是对IB中的对象添加事件的响应,则通过连线的方式,为控件添加IBAction行为事件

    添加连线的方式:

    a。打开拆分视图,左边为xib文件,右边为xib对应的控制器m文件

    b。选中控件,按下control

    c。在控件上按下鼠标左键,拖拽到右侧的指定位置

    d。如果是添加输出口,则拖拽到扩展中

            @property (weak, nonatomic) IBOutlet UILabel *valueLabel;

    e。如果是添加action,则拖拽到类的实现中,change方法

    - (IBAction)changeValue:(UIStepper *)sender   {       }

     1.2 action的参数

    在为控件添加事件响应时,可以添加一个参数,默认为id类型,代表的是发生事件的源头是哪个控件,或者说本次事件的发送者是谁

    在需要用到这个参数来区分连到同一个方法上的多个控件的时候,可以在连线时,选择type参数,设置为具体的某种控件类型,不需要再在方法内进行类型转换了。

    例:

    三个button控制一个label,并且将button的内容赋给label。只需将三个button都连线到一个方法当中。

    - (IBAction)click:(UIButton *)sender {

        self.infolabel.text=[sender titleForState:UIControlStateNormal];

    }

     1.3 使用IB连线时的注意事项

    如果对IB中的控件连线后,又删除,那么此时删掉的只是代码中的变量或方法,并没有删掉界面中控件记录的连线,一定要在xib中,选中控件,右键,查看绑定的线有几条,将不需要的连线删掉,才不会出错。

  • 相关阅读:
    Windows下安装并设置Redis
    Android平台相机接口的应用
    Struts(十五):主题
    Struts(十四):通用标签-form表单
    Struts(十三):通用标签
    Struts(十二):异常处理:exception-mapping元素
    Struts(十一):OGNL表达式(二)
    Struts(十):OGNL表达式(一)
    A*算法
    Centos:如何查找安装的jdk的目录
  • 原文地址:https://www.cnblogs.com/yhj1787354782/p/5050885.html
Copyright © 2020-2023  润新知