Swift 常用方法总结

Swift 常用方法总结,第1张

概述Swift 常用方法总结 1、设置AttributeStringText //MARK: - 设置富文本 func setAttributeStringText(strFullText:String, andFullTextFont textFont:UIFont, andFullTextColor textColor:UIColor, withChangeText changeText:St Swift 常用方法总结 1、设置AttributeStringText
 //MARK: - 设置富文本 func setAttributeStringText(strFullText:String,andFullTextFont textFont:UIFont,andFullTextcolor textcolor:UIcolor,withChangeText changeText:String,withChangeFont changFont:UIFont,withChangecolor changecolor:UIcolor) -> NSAttributedString{        let attributeString = NSMutableAttributedString.init(string: strFullText)        //需要改变的文本    var range = Nsstring.init(string: strFullText).range(of: changeText)    attributeString.addAttributes([        NSFontAttributename:changFont,NSForegroundcolorAttributename:changecolor,],range: range)        //不需要改变的文本    let oldText = Nsstring.init(string: strFullText).replacingOccurrences(of: changeText,with: "")    range = Nsstring.init(string: strFullText).range(of: oldText)    attributeString.addAttributes([        NSFontAttributename:textFont,NSForegroundcolorAttributename:textcolor,range: range)        return attributeString }


2、是否含有Emoji表情
 //MARK: - Emoji表情检测 //是否含有Emoji 表情(true 含有) func stringContainsEmoji(string:String)->Bool{    var returnValue = false;    let Str = Nsstring(format: "%@",string);        Str.enumerateSubstrings(in: NSMakeRange(0,Str.length),options: Nsstring.Enumerationoptions.byComposedCharacterSequences) { (substring,substringRange,enclosingRange,stop) in                let subStr = Nsstring(format: "%@",substring!);        let hs = subStr.character(at: 0);        // surrogate pair        if (0xd800 <= hs && hs <= 0xdbff) {            if (subStr.length > 1) {                let ls = subStr.character(at: 1);                let uc = Int(((hs - 0xd800) * 0x400) + (ls - 0xdc00)) + 0x10000;                if (0x1d000 <= uc && uc <= 0x1f77f){                    returnValue = true;                }            }        }        else if (subStr.length > 1) {            let ls = subStr.character(at: 1);            if (ls == 0x20e3){                returnValue = true;            }        }        else {            // non surrogate            if (0x2100 <= hs && hs <= 0x27ff){                returnValue = true;            }            else if (0x2B05 <= hs && hs <= 0x2b07){                returnValue = true;            }            else if (0x2934 <= hs && hs <= 0x2935){                returnValue = true;            }            else if (0x3297 <= hs && hs <= 0x3299){                returnValue = true;            }            else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50){                returnValue = true;            }        }    };          return returnValue; }


3、获取文本的宽度
 //MARK: - 获取文本的宽度 func getWIDthForString(strTitle:String,txtFont:UIFont) -> CGfloat {    var fw = CGfloat.init(0)        let size = Nsstring.init(string: strTitle).size(attributes: [        NSFontAttributename:txtFont        ])    fw = size.wIDth        return fw }


4、字典转换为Json String
   /**    * 字典转换为JsONString    * @parameter dictionary: 字典参数    * @returns: JsONString    */    func getJsONStringFromDictionary(dictionary:NSDictionary) -> String {        if (!JsONSerialization.isValIDJsONObject(dictionary)) {            print("无法解析出JsONString")            return ""        }        let data : NSData! = try? JsONSerialization.data(withJsONObject: dictionary,options: []) as NSData!        let JsONString = Nsstring(data:data as Data,enCoding: String.EnCoding.utf8.rawValue)        return JsONString! as String    }


5、UISearchbar样式属性修改
//MARK: - UISearchbar相关设置//清除查询框背景func clearnSearchbarBg(searchVIEw:UISearchbar){    for item:UIVIEw in (searchVIEw.subvIEws) {        for subvIEw:UIVIEw in item.subvIEws {            if subvIEw.isKind(of: UITextFIEld.classForCoder()) {                //将搜索文本框的背景去掉                for obj in subvIEw.subvIEws {                    obj.removeFromSupervIEw()                }            }        }    }}//设置取消按钮为中文func setSearchbarCancle(searchVIEw:UISearchbar){    for item:UIVIEw in (searchVIEw.subvIEws) {        for subvIEw:UIVIEw in item.subvIEws {            //更改取消按钮            if subvIEw.isKind(of:UIbutton.classForCoder()) {                let btnCancle:UIbutton = subvIEw as! UIbutton                //修改文本                btnCancle.setTitle("取消",for: .normal)                //修改背景                btnCancle.backgroundcolor = UIcolor.clear            }        }    }}//设置提示文本字体大小func setSearchbarFont(searchVIEw:UISearchbar,Font:UIFont){    for item:UIVIEw in (searchVIEw.subvIEws) {        for subvIEw:UIVIEw in item.subvIEws {            if subvIEw.isKind(of: UITextFIEld.classForCoder()) {              (subvIEw as? UITextFIEld)?.Font = Font            }        }    }}
总结

以上是内存溢出为你收集整理的Swift 常用方法总结全部内容,希望文章能够帮你解决Swift 常用方法总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1060070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存