ios - 如何在 Swift 中限制文本字段中的数字?

标签 ios iphone ipad swift

我希望用户在文本字段中填写一个 0 到 60 之间的数字。 我怎样才能将数字字符限制为 2? 如何限制最大数量为60? 以及如何取消文本字段上的“粘贴”选项,使用户无法粘贴字母?

最佳答案

我认为有两种方法可以做到这一点。

实现UITextFieldDelegate并实现功能

func textField(textField: UITextField,
    shouldChangeCharactersInRange range: NSRange,
    replacementString string: String) -> Bool {

    var startString = ""

    if textField.text != nil {
        startString += textField.text!
    }

    startString += string

    var limitNumber = startString.toInt()

    if limitNumber > 60 {
        return false
    } else {
        return true
    }
}

在此每次检查到目前为止输入到 UITextField 的内容,转换为 Integer,如果新值大于 60,则返回 false。 (同时向用户显示适当的错误)。

我认为更好的方法是提供 UIPickerView

关于ios - 如何在 Swift 中限制文本字段中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566405/

相关文章:

iOS UICollectionView 在垂直 UICollectionView 单元格内水平滚动,重用

ios - 如何以编程方式更改 UITableVeiw 的披露指示器的颜色?

ios - 如何在自定义 UISlider 中在 slider 值 0 之前和 slider 值 100 之后提供填充

ios - 保存任何未保存的 PFObject 甚至用户终止应用程序

ios - 核心数据崩溃获取

ios - 通过在 iOS10+ 上打开本地通知来检测应用是否已启动

iphone - iOS 11 iPhone X 模拟器选项卡栏图标和标题呈现在顶部,相互覆盖

ios - iPad 无法使用 HTML5 渲染 H.264 视频

iphone - 评价我的应用程序的链接无法在 iPhone 上运行?

iphone - ConvertToWorld-/NodeSpace 如何工作?