TextField

17 Mar 2025 | 6 分钟阅读

它可以定义为一个对象,用于在界面中显示一个可编辑的文本区域。文本框用于获取用户输入的基于文本的输入。

正如我们讨论过标签一样,我们也可以通过赋予属性来自定义文本框。在某些情况下,我们可能还需要配置键盘,例如,仅限制用户输入数字。文本框使用目标动作机制和委托对象来报告编辑期间所做的更改。

以下步骤用于配置文本框。

  1. 在对象库中搜索文本框,并将结果拖到故事板中。
  2. 为文本框配置一个或多个目标和动作。
  3. 自定义文本框的键盘相关属性。
  4. 执行文本框委托对象任务以报告编辑期间所做的更改。
    1. 当用户更改文本框内容时,将调用文本框委托方法。
    2. 验证用户输入的文本。
    3. 当键盘的返回按钮被点击时,将调用委托方法。
  5. 在相应的 ViewController 类中创建文本框的出口。

示例

在这里,我们将使用文本框和标签创建一个表单。我们还将对文本框应用一些验证。如果验证失败,则会向用户显示一个警告;否则,将向用户显示成功消息。

界面构建器

为了为项目创建界面,我们将使用文本框来获取用户的数据,并将其与标签相关联,以便向用户显示消息。

我们不会在应用程序中使用按钮,因为它尚未在此教程中介绍;相反,我们正在使用可点击的标签来触发事件。

通过在对象库中搜索适当的对象并将结果拖到故事板中来创建界面。

在项目中创建了以下视图以获取用户的信息。

iOS TextField

如何在成功注册后显示成功消息?

在 iOS 开发中,我们通常在成功完成任何任务时创建另一个屏幕。但是,在此示例中,我们将在同一屏幕上创建一个包含成功消息的 UIView,并将其隐藏,直到在提交标签被点击时验证成功。

添加 createUserSuccessView 后的界面显示在下图中。

iOS TextField

出口

出口是在关联的 View Controller 类中创建的对象的。所有连接的出口都可以在 XCode 的连接检查器中显示,如下图所示。

iOS TextField

ViewController.swift

输出

iOS TextField

配置键盘

通过在文本框出口上调用 becomeFirstResponder() 方法,文本框可以成为第一响应者。当文本框成为第一响应者时,键盘会自动可见,并且键盘输入绑定到文本框。当用户点击文本框时,文本框成为第一响应者,即键盘可见。

要关闭键盘,可以在文本框出口上调用 resignFirstResponder() 方法。我们可能需要响应某些特定交互来关闭键盘。当用户按下回车键时,键盘会自动关闭。

文本框的编辑状态受键盘的显示和关闭影响。当用户开始编辑键盘出现时的文本框时,文本框会向其委托发送相应的通知。当编辑开始和结束时,也会通知委托方法。

文本框委托方法

序号方法签名描述
1func textFieldShouldBeginEditing(UITextField) -> Bool它询问委托是否应该开始编辑相应的文本框。
2func textFieldDidBeginEditing(UITextField)它告诉委托文本框中的编辑已开始。
3func textFieldShouldEndEditing(UITextField) -> Bool它要求委托结束文本框中的编辑。
4func textFieldDidEndEditing(UITextField, reason: UITextField.DidEndEditingReason)它告诉委托已停止指定文本框的编辑。
5func textFieldDidEndEditing(UITextField)它是重载方法,与上述方法相同。
6func textField(UITextField, shouldChangeCharactersIn: NSRange, replacementString: String) -> Bool它询问委托是否应该更改文本框的当前内容。
7func textFieldShouldClear(UITextField) -> Bool它询问委托是否应该删除文本框的当前内容。

界面构建器属性

文本框属性

序号属性描述属性
1text它表示文本框当前包含的文本。它可以在运行时通过文本框的 text 属性访问。text
2color它表示文本框文本的颜色。这可以使用 TextField 的 textColor 属性访问。textColor
3font它表示文本框文本的字体。这可以使用文本框对象的 font 属性访问。font
4对齐方式它表示编辑区域内文本的对齐方式。textAlignment
5placeholder它表示文本框的占位符字符串。当文本框为空时,将显示此字符串以引导用户。placeholder
6背景它表示在启用文本框时显示的背景图像。背景图像显示在文本框内容后面。背景
7disabled它表示在禁用文本框时显示的背景图像。disabledBackground
8边框样式它表示文本框边框的视觉样式。borderStyle
9清除按钮清除按钮是一个叠加视图,用户可以点击它来删除文本框的所有内容。此属性可用于设置文本框中清除按钮的外观。clearButtonMode
10最小字体大小文本框文本的最小字体大小。当启用“自动调整以适应”选项时,文本框会自动更改字体大小,以确保文本的最大可读性。minFontSize

键盘属性

序号属性描述属性
1大写此属性将自动大写样式应用于文本框中输入的文本。autocapitalizationType
2更正此属性用于确定在键入时是否启用自动更正。autocorrectionType
3拼写检查它用于确定在键入时是否启用拼写检查。spellCheckingType
4键盘类型此属性设置在键入时显示的键盘类型。keyboardType
5外观它用于设置文本框的外观。它指定深色或浅色键盘。keyboardAppearance
6回车键它用于设置要在键盘上显示的返回键的类型。returnKeyType

下一个主题日期选择器