swift 项目中常用的方法

倒计时 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
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.NSTimer不准时的原因:(1).RunLoop循环处理时间,每次循环是固定时间,只有在这段时间才会去查看N...
    稻春阅读 1,400评论 0 3
  • UITextField对象用于在你的界面上显示一个可编辑的文本区域。使用文本区域可以收集来自用户使用屏幕上的键盘输...
    零度_不结冰阅读 1,144评论 0 0
  • 中午十一点四十八分 人到中年时,活得连狗都不如。经常看到这样的一句话,开始没法理解,其实是自己还没有到那个时候。就...
    长相岁月阅读 485评论 0 0
  • 使用python:2.7.12 一、MongoDB 121.spider:dmoz_item.py 2.items...
    怂恿的大脑阅读 875评论 0 0
  • http://www.chaishubang.com/memoirs/memoirsinfo/2405
    Fly_Catkin阅读 230评论 0 0

友情链接更多精彩内容