当前位置: 首页 > news >正文

网站建设 精品课程墨猴seo排名公司

网站建设 精品课程,墨猴seo排名公司,wordpress 权限 写文章,wordpress开发服务本文将带你了解IOS开发入门iOS 开发 富文本详解之TextKit详解#xff0c;希望本文对大家学IOS有所帮助。textkit结构textkit使用步骤#Mark - 1. 自定义label --class CZLabel: UILabel---四个属性//1.属性文本存储private lazy var textStorage NSTextStorage()//2.负责文本…本文将带你了解IOS开发入门iOS 开发 富文本详解之TextKit详解希望本文对大家学IOS有所帮助。textkit结构textkit使用步骤#Mark - 1. 自定义label  --class CZLabel: UILabel---四个属性//1.属性文本存储private lazy var textStorage  NSTextStorage()//2.负责文本字形布局对象private lazy var layoutManager  NSLayoutManager()//3.设定文本绘制的范围private lazy var textContainer  NSTextContainer()//4.属性数组,保存匹配的范围private lazy var linkRanges  [NSRange]()#Mark - 2. 重新init方法-- override init(frame: CGRect) {}//0.开启用户交互userInteractionEnabled  true//1.textStorage接管label的属性if let attributedText  attributedText {}//2.设置对象关系textStorage.addLayoutManager(layoutManager)layoutManager.addTextContainer(textContainer)#Mark - 3. 外界给label的text属性赋值  label.text  好友,#健康#,.....//重写属性的text方法--一旦label里的内容发生变化,就可以让textStorage相应变化//1.段落处理--1.范围  2.属性  3.段落样式let attrStringM  addLineBreak(attributedText!)//2.正则匹配--1.清空原有  2.匹配范围  3.创建正则  4.匹配  5.遍历匹配结果,添加到属性数组regexLinkRanges(attrStringM)//3.连接颜色设置---1.范围  2.属性  3.添加颜色  4.遍历属性数组,改变颜色addLinkAttribute(attrStringM)//4.添加到textStoragetextStorage.setAttributedString(attrStringM)//5.重新绘制setNeedsDisplay()#Mark - 4. textStorage字形和属性发生变化时,通知NSLayoutManager重新布局文本//MARK:3.设置布局--制定文本绘制区域override func layoutSubviews() {super.layoutSubviews()//制定文本绘制区域textContainer.size  bounds.size}#Mark - 5. 绘制textStorage的文本内容--不能调用superoverride func drawTextInRect(rect: CGRect) {let range  NSMakeRange(0, textStorage.length)//Glyphs--字形---CGPoint()从原点绘制,也就是右上角layoutManager.drawGlyphsForGlyphRange(range, atPoint: CGPoint(x: 0,y: 0))}#Mark - 6. 用户点击事件交互//0.懒加载 # URL的匹配的正则法则 三个属性数组三步法:1.正则表达式  2.创建正则  3.匹配  4.便利匹配结果,添加到属性数组//1.获取用户点击的位置let location  touches.first?.locationInView(self)//2.获取当前点中字符的索引let index  layoutManager.glyphIndexForPoint(location, inTextContainer: textContainer)//3.判断index在哪个标记的range 范围上for range in atRange ?? [] {if NSLocationInRange(index, range) {let strSub  (textStorage.string as NSString).substringWithRange(range)//进行结果处理}}Swift使用import UIKitclass ZYLabel: UILabel {        //attributedText富文本//MARK:2.重写属性text方法,可以在ViewController里给文本赋值//一旦label里的内容发生变化,就可以让textStorage相应变化override var text:String? {didSet {if attributedText  nil {return}//换行处理属性let attrStringM  addLineBreak(attributedText!)//换行后进行--正则匹配regexLinkRanges(attrStringM)//换行后进行--连接颜色设置addLinkAttribute(attrStringM)//添加到textStoragetextStorage.setAttributedString(attrStringM)//重新绘制setNeedsDisplay()}}///MARK: textKit的三个核心对象//属性文本存储private lazy var textStorage  NSTextStorage()//负责文本字形布局对象private lazy var layoutManager  NSLayoutManager()//设定文本绘制的范围private lazy var textContainer  NSTextContainer()private lazy var linkRanges  [NSRange]()//纯代码接管Labeloverride init(frame: CGRect) {super.init(frame: frame)//0.开启用户交互userInteractionEnabled  true//1.textStorage接管label的属性if let attributedText  attributedText {        //如果原有文本设置了attributetextStorage.setAttributedString(attributedText)}else if let text  text {      //如果原有文本没有设置attributetextStorage.setAttributedString(NSAttributedString(string: text))}else {     //如果原有文本为niltextStorage.setAttributedString(NSAttributedString(string: ))}//2.设置对象关系textStorage.addLayoutManager(layoutManager)本文由职坐标整理并发布希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道
http://wiki.neutronadmin.com/news/321416/

相关文章:

  • 建设网站所采用的技术响应式网站微博视频教程
  • 观澜做网站山西做网站的企业
  • 搭建网站手机软件wordpress产品模板
  • 公司网站怎么做啊wordpress能输数学公式吗
  • 云服务器可以做几个网站如何做网站 百度
  • 网站设计制作哪家服务好石景山网站建设公司
  • 企业网站有那些建设网站导航怎么盈利
  • 东莞市建网站中铁建设集团集网登录
  • 网站建设中 html5 模板wordpress编辑器替换
  • 东阳海天建设集团网站网络舆情处理公司
  • 网站素材模板 站长现在做微信开发网站多少钱
  • 幼教资源网网站开发策划书陌陌引流推广软件
  • 深圳 微网站建设ydgcm扬州市建设局招标网站
  • 泉州最专业手机网站建设定制合伙建网站
  • 学做家常菜的网站wordpress做登陆页面模板
  • 物流那个网站做推广好网站改版后多久才收录
  • 潍坊mip网站建设旅行社网站规划与建设的流程图
  • 舞蹈培训机构网站建设郑州网站推广排名
  • 网站建设方法氵金手指排名27网页设计教程ppt封面图片
  • 企业网站建设及维护费用光聚济南网站建设
  • 网站建设公司新闻做行业网站广告
  • 温州网站关键字优化韩国的电商网站
  • 温州做公众号和做网站的地方如何编辑网站内容
  • 推荐几个自学做衣服的网站青岛有名的互联网公司
  • 灌南县规划局网站一品嘉苑规划建设赣州市建设工程质量监督管理站网站
  • 成都住建厅官方网站大连警方最新通告
  • 上海做电缆桥架的公司网站黑马it培训班出来现状
  • php做自己的网站动画网站模板
  • 网站开发现状都用phpwordpress动漫博客主题免费下载
  • 佛山网站优化流程找网站