
//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 }
//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; }
//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 }
/** * 字典转换为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 常用方法总结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)