当前位置: 首页 > 面试题库 >

如何声明文本字段只能包含整数?

夏长卿
2023-03-14
问题内容

我试图快速制作一个文本字段,该文本字段将允许启用按钮,但前提是该文本字段包含整数。我怎样才能做到这一点?


问题答案:
  1. UITextFieldDelegate通过添加UITextFieldDelegate到类声明,使您的视图控制器成为a 。
  2. 添加IBOutlet是为了你们的文本字段,你的按钮。
  3. viewDidLoad中将按钮的isEnabled属性false设置self为,并设置为textField.delegate
  4. 实现textField:shouldChangeCharactersInRange:replacementString:方法。每次编辑文本字段时都会调用此方法。在其中,Int通过调用Int(text)并根据需要启用/禁用按钮来检查当前文本字段是否转换为。

这是代码:

class ViewController : UIViewController, UITextFieldDelegate {

    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var button: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        button.isEnabled = false
        textField.delegate = self
        textField.keyboardType = .numberPad
    }

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        // Find out what the text field will be after adding the current edit
        let text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)

        if Int(text) != nil {
            // Text field converted to an Int
            button.isEnabled = true
        } else {
            // Text field is not an Int
            button.isEnabled = false
        }

        // Return true so the text field will be changed
        return true
    }
}


 类似资料:
  • 问题内容: 从golang规范 是否有使用内的 空白 字段的实际方案?(一些代码片段将不胜感激) 问题答案: 填充正是所谓的:一些填充,用于将以下字段与您的需求对齐,例如,匹配C结构的布局。无法访问它(至少在没有软件包不安全的情况下)。

  • 我是bazel的新手,我在构建C++包时遇到了一个失败 错误:/path/to/package/build:lineNumber:1规则“//path/to/package/source_file.cpp”中未声明的包含:此规则缺少“path/to/package/source_file.cpp”所包含的下列文件的依赖项声明 我的问题是如何正确地将声明添加到构建文件中以解决错误? 根据这里的在线B

  • 如何防止或捕捉用户输入int或数字的字符串? 前任。 然后如果我输入Dave Har1234,我想在输入上捕获该数字,然后返回。

  • 有一个任务从控制台得到N个数字,找到最长和最短的一个和他们的长度。任务并不难,工作正常,但我决定做一个检查,如果控制台输入与任务的条件相对应: 只有整数。 是精确的N个数字,而不是更多/更少。 我决定编写一个布尔方法isinputCorret(),它将使用扫描器并检查输入是否正确,但它不能正常工作。

  • 我有这三个字符串: 我如何检查这些字符串中哪一个只包含字母还是只包含数字(用R表示)? 只能在字母检查中为TRUE 它对很有效,但对也很有效,这是我不想要的。 提前谢了。

  • 问题内容: 在Internet上,我发现了一个非常有用的类,可以使用它来限制TextField。我遇到了一个问题,我的TextField只能包含一个“。”。字符。我怀疑我可以通过编写适当的正则表达式并将其设置为对该类实例的限制来处理此问题。我使用以下正则表达式:“ [0-9.-]”,但它允许用户输入的点数尽可能多。我可以请您帮助我配置TextField,以便不超过一个“。”。被允许。 } 问题答案