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

网站有哪些漏洞dedecms模板安装教程

网站有哪些漏洞,dedecms模板安装教程,上海网站建设代,房地产市场调查的途径有哪些首先来说一说ios中的 lineBreakModelineBreakMode : 设置文字过长时的显示截断样式 可选值如下 byWordWrapping #xff1a; 以单词为单位换行#xff0c;以单词为单位截断。byCharWrapping #xff1a;以字符为单位换行#xff0c;以字符为单位截断。byClipping #x…首先来说一说ios中的 lineBreakModelineBreakMode : 设置文字过长时的显示截断样式 可选值如下 byWordWrapping 以单词为单位换行以单词为单位截断。byCharWrapping 以字符为单位换行以字符为单位截断。byClipping 以单词为单位换行以字符为单位截断。byTruncatingHead 以单词为单位换行, 如果是单行则开始部分有省略号。如果是多行则中间有省略号。byTruncatingTail 以单词为单位换行, 无论是单行还是多行都是末尾有省略号。byTruncatingMiddle 以单词为单位换行, 无论是单行还是多行都是中间有省略号。 ​ 三种省略方式如下 ​byTruncatingHead为头部截断但是文字为多行时省略的是中间内容而不是头部内容下面我们就来实现多行文字文字超过设定行数后省略头部的功能 首先根据容器的宽度和字体的大小计将文本分割成多行 func splitTextIntoLines(text: String, width: CGFloat, font: UIFont) - [String] {let textBox CGSize(width: width, height: CGFloat.greatestFiniteMagnitude) // 设定文本框的宽和最大高let attributes: [NSAttributedString.Key: Any] [.font: font] // 定义属性字典为了设置字体// 创建NSTextStorage并应用上面定义的属性let textStorage NSTextStorage(string: text, attributes: attributes)let layoutManager NSLayoutManager() // 创建布局管理器textStorage.addLayoutManager(layoutManager) // 将布局管理器添加到文本存储中// 创建NSTextContainer设置其大小为之前定义的textBoxlet textContainer NSTextContainer(size: textBox)textContainer.lineFragmentPadding 0 // 设置行片段(padding)的填充为0textContainer.maximumNumberOfLines 0 // 表示没有最大行数限制textContainer.lineBreakMode .byWordWrapping // 设置折行模式为按单词换行layoutManager.addTextContainer(textContainer) // 将文本容器添加到布局管理器中var lines: [String] [] // 创建一个数组用于存储分割后的每一行文本var range NSRange(location: 0, length: 0) // 初始化一个NSRange对象// 使用enumerateLineFragments方法获取每一行的文本layoutManager.enumerateLineFragments(forGlyphRange: NSRange(location: 0, length: layoutManager.numberOfGlyphs)) { _, usedRect, _, glyphRange, _ in// 将NSRange类型的glyphRange转换为RangeString.Index类型这样可以安全地使用Swift的String索引let characterRange Range(glyphRange, in: text)if let characterRange characterRange {let line String(text[characterRange]) // 从原始文本中获取行文本并添加到lines数组lines.append(line)}range NSUnionRange(range, glyphRange) // 更新处理过的字符范围}return lines // 返回包含所有行的数组} 获取想要的行数文字 /**text:字符串font:字号limit:显示行数*/func truncat(text:String,width: CGFloat, font: UIFont,limit:Int) - String{let allLines splitTextIntoLines(text: text, width: width, font: font)let lines allLines.suffix(limit)var origString for (index,line) in lines.enumerated() {origString line}print(origString)return ...\(origString)} 效果如下 要注意的是 truncat传入的width和font要与文字容器的宽度和文字字体一致
http://www.pierceye.com/news/725052/

相关文章:

  • 网页设计与网站建设考试名词解释长治县网站建设
  • 商务网站建设实训报告总结南京太阳宫网站建设
  • 网站建设合同缴纳印花税吗建设企业网站官网登录
  • 石家庄网站开发多少钱做网站和做程序一样吗
  • cpa项目怎么做必须有网站么百度快速收录3元一条
  • 建造网站 备案产品推广文案100字
  • 希腊网站后缀昆山网站推广
  • 企业网站模板seo个人网站制作成品图片
  • 政务网站群建设需求调研表网站优化方案基本流程
  • 那个网站做调查问卷能赚钱架设一个网站
  • 什么网站是免费的合肥网页设计工资一般多少
  • 学校网站建设招聘提高网站浏览量
  • 特色专业网站建设模板北京网站建设公司分享网站改版注意事项
  • 网站上做地图手机上显示不出来的seo长尾快速排名
  • 网站怎么进行网络推广技术支持 湖州网站建设
  • 旅游找什么网站好仿朋友圈网站建设
  • 设置wordpress首页显示文章摘要aso优化是什么意思
  • 乡镇门户网站建设的现状及发展对策深圳网站建设评价
  • 河南省洛阳市建设银行的网站网站获得流量最好的方法是什么 ( )
  • 西安网站制作托wordpress媒体页
  • 杜集网站建设php网站怎么样
  • 山西做网站敬请期待哦
  • 前台网站开发技术Wordpress 建立学生档案
  • 邯郸网站制作找谁设置备份管理wordpress
  • 乌海学校网站建设镇江抖音seo
  • 网站建设在哪wordpress ping地址
  • 资讯文章网站模板徐州百度推广
  • 网站排名如何做西安有哪些网站设计公司
  • 广州网站开发学校wordpress优秀站点
  • wordpress 当前文章所属分类seo网站推广怎么做