当前位置: 首页 > 编程笔记 >

如何限制UITextField在Swift中只接受数字?

鲜于光赫
2023-03-14
本文向大家介绍如何限制UITextField在Swift中只接受数字?,包括了如何限制UITextField在Swift中只接受数字?的使用技巧和注意事项,需要的朋友参考一下

在iOS应用中,有时我们需要将文本字段限制为仅将数字作为输入,这可以通过多种方式完成,下面让我们来看一些。

方法1:从情节提要中更改文本字段类型。

  • 选择要限制为数字输入的文本字段。

  • 转到其属性检查器。

  • 选择键盘类型,然后从中选择数字键盘。

方法2:以编程方式将输入限制为数字。

  • 选择文本字段

  • 在视图控制器中创建其出口。

  • 使视图控制器符合UITextFieldDelegate

  • 设置文本字段的委托

  • 添加以下功能

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
   if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) {
      return true
   } else {
      return false
   }
}

我们整个示例类看起来像

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
   @IBOutlet weak var tf: UITextField!
      override func viewDidLoad() {
         tf.delegate = self
         super.viewDidLoad()
      }
      func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
         if let x = string.rangeOfCharacter(from: NSCharacterSet.decimalDigits) {
            return true
         } else {
         return false
      }
   }
}

这将创建一个文本字段,该文本字段只能以数字作为输入,不能包含其他字符。

 类似资料:
  • 问题内容: 如何在Swift中将用户的TextField输入限制为数字? 问题答案: 您可以使用的方法将用户的输入限制为数字: 为Swift 3更新:

  • 我试图将文本视图字符限制为英语。但如果我复制并粘贴非英语字符,我的文本视图就会接收这些条目。谁能帮我解决这个问题。UITextView应该只接受英文字符(包括特殊字符、数字和空格)。或者,当我点击done时,如果textview包含非英语字符,它应该验证并向我发送错误消息。 提前谢谢。 下面是我的代码 此代码不允许我输入空格和特殊字符。需要帮忙解决这个问题。

  • 问题内容: 我在AngularJS中使用ngChange来触发自定义函数,该函数将删除用户添加到输入中的所有字母。 问题是我需要定位触发的输入,以便删除输入的字母。我已经在Google上寻找了很长时间,并且对此一无所获。 我能做什么? 问题答案: 简单的方法 ,如果适用于您的用例,请使用type =“ number” : 另一种简单的方法: ng- pattern 也可用于定义正则表达式,以限制字

  • 本文向大家介绍使用UITextField限制只可输入中,英文,数字的方法,包括了使用UITextField限制只可输入中,英文,数字的方法的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要介绍使用UITextField限制只可输入中,英文,数字,我们可以使用NSPredicate正则表达式可以过滤,下面看看详细的步骤方法 首先设置UItextField的代理 实现如下方法: 然后添加事件,因

  • 问题内容: 我正在获取月份号作为输入。我成功地将UITextField中的字符数限制为2。但是我希望用户仅输入来自的值,而不要输入其他值。当用户键入数字时,即必须同时进行。如果我使用简单的条件检查每个字符并部分返回false,则文本字段将不允许我使用clear或重新键入其他任何字符。谁来帮帮我。 问题答案: 将键盘类型设置为数字键盘 加上这个

  • 我想把我的标签限制为10个字符,我是一个完全的编程新手,所以这是我到目前为止的第三个月了。。。无论如何,提前谢谢:-)