美文网首页
swift 项目中常用的方法

swift 项目中常用的方法

作者: 41c48b8df394 | 来源:发表于2019-05-15 19:14 被阅读0次

    倒计时 GCD

    TextFiled限制只可输入数字

     func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
            // 获取输入的文本,移除向输入框中粘贴文本时,系统自动加上的空格(iOS11上有该问题)
            let new = string.replacingOccurrences(of: " ", with: "")
            // 获取编辑前的文本
            var old = NSString(string: textField.text ?? "")
            // 获取编辑后的文本
            old = old.replacingCharacters(in: range, with: new) as NSString
            // 获取数字的字符集
            let number = CharacterSet(charactersIn: "0123456789")
            // 判断编辑后的文本是否全为数字
            if old.rangeOfCharacter(from: number.inverted).location == NSNotFound {
                // number.inverted表示除了number中包含的字符以外的其他全部字符
                // 如果old中不包含其他字符,则格式正确
                // 允许本次编辑
                textField.text = old as String
                // 移动光标的位置
                DispatchQueue.main.async {
                    let beginning = textField.beginningOfDocument
                    let position = textField.position(from: beginning, offset: range.location + new.count)!
                    textField.selectedTextRange = textField.textRange(from: position, to: position)
                }
            }
            return false
        }
    

    Swift Extension 三方整理库

    小数点四舍五入
    let number = lroundf(22.5) // 23
    
    隐藏状态栏
       override var prefersStatusBarHidden: Bool {
            return true
        }
    

    相关文章

      网友评论

          本文标题:swift 项目中常用的方法

          本文链接:https://www.haomeiwen.com/subject/wfpeaqtx.html