ITPub博客

首页 > 移动开发 > IOS > iOS开发入门:Interface Builder、基础控件及UITextField详解

iOS开发入门:Interface Builder、基础控件及UITextField详解

原创 IOS 作者:写得不如修的多 时间:2026-10-09 15:47:28 0 删除 编辑

1.Interface Builder(简称IB,界面构建器)

1.1 是什么?

除了 Xcode,你也可以使用 快蝎 ( kxapp)这一免 Xcode 的 iOS 开发 IDE,它内置编译工具与真机调试引擎,支持 Swift、Objective-C 和 Flutter,适合入门和高效开发。

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

1.2 作用?

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

1.3 工作原理

 将界面所需控件的设置保存到xib文件中,在创建控制器实例的时候,系统会根据指定的xib文件来自动创建视图中的各个控件的实例、设置实例的属性,将其用于对控制器自带的视图的初始化中。所以,在创建控制器实例时,需要使用initWithNibName方法来指定有关视图的配置需要加载的文件是哪一个

1.4 所需文件

  XxxxYyyy.h
  XxxxYyyy.m
  XxxxYyyy.xib (xml  interface builder)

1.5 IBOutlet,IBAction

 由于控制器的视图中所需的控件都由系统根据xib文件自动创建完成,所以view已经对这些控件对象是strong(强引用)了,但是,此时控制器无法访问系统创建的这些控件,于是需要通过特殊的方法来获取系统创建的这些对象的引用。
 如果,是对IB中的对象添加属性访问,让控件成为一个外界可以访问的输出口,则通过连线的方式,使其成为控制其的IBOutlet属性
 如果,是对IB中的对象添加事件的响应,则通过连线的方式,为控件添加IBAction行为

添加连线的方式:

   a。打开拆分视图,左边为xib文件,右边为xib对应的控制器m文件
   b。选中控件,按下control
   c。在控件上按下鼠标左键,拖拽到右侧的指定位置
   d。如果是添加输出口,则拖拽到扩展中
   e。如果是添加action,则拖拽到类的实现中

1.6 action的参数

  在为控件添加事件响应时,可以添加一个参数,默认为id类型,代表的是发生事件的源头是哪个控件,或者说本次事件的发送者是谁
  在需要用到这个参数来区分连到同一个方法上的多个控件的时候,可以在连线时,选择type参数,设置为具体的某种控件类型,不需要再在方法内进行类型转换了。

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

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

2.基础控件(UIStepper   UISlider    UISwitch)

2.1 UIStepper 步进控件

 重要属性:
    .value
    .maximumValue
    .minimumValue
    .stepValue
常用事件:
    value Changed事件:当数值改变时触发

2.2 UISlider 滑块控件

 重要属性:
    .value
 重要事件:
    value Changed事件:当数值改变时触发

2.3 UISwitch 开关控件

 重要属性:
    .on (BOOL)   获取或设置开关的状态
    .enabled(BOOL) 获取或设置控件是否可用
 重要的事件:
    valueChanged事件

3.UITextField

3.1 是什么?

    是单行的文本输入框,支持用户的输入

3.2 属性

    .text 获取或设置文本框内的文本
    … …

3.3 系统弹出的键盘

第一响应者:当用户触摸界面时,系统会根据手指触摸的位置层层定位到具体的控件,如果,本次触点在文本框控件的区域内,那么文本框就负责对本次的触碰事件进行响应,由于文本框比较特殊,所以系统自动将文本框设置为响应事件的第一关,并且自动弹出键盘。

插播:

当用户点击屏幕后,首先开启的是查找hit-View的过程。从window开始,给所有直接子视图发hit-Test的消息,直到某一个控件没有子视图了,并且这个触点在这个子视图中,则返回这个控件,于是hit-View找到了

找到hit-View后,view则成为了需要第一个为这个事件提供响应的对象,如果,该对象没有提供事件响应,则该事件对象会向视图的父视图继续传递,如果父视图依然没有提供响应,则继续向上传递,直到传递到UIApplication对象,依然没有处理的话,则抛弃该事件。这个过程叫做响应者链。

3.4 如何关闭键盘

    方法一:让键盘放弃第一响应者的身份即可
 [self.textField resignFirstResponder];
    方法二:让键盘所在的父视图结束编辑状态
[self.view endEditing.YES];

3.5什么时候关闭键盘呢?(关闭键盘的时机)

时机一: 点击键盘右下角的按键

                 为文本框添加一个  事件

时机二: 点击屏幕的空白部分

                 重写控制器的 **touchesBegan:withEvent:** 方法

4.UIAlertView &UIActionSheet

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047439/viewspace-3184679/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
iOS开发人员,iOSapp调试

注册时间:2025-09-04

  • 博文量
    135
  • 访问量
    132572