ios – 如何在UILabel的段落周围绘制边框?

ios – 如何在UILabel的段落周围绘制边框?,第1张

概述我试图使用可以显示丰富内容的UILabel.为此,我使用UILabel中的attributedText属性和NSAttributedString I alloc与NS HTMLTextDocumentType. 我想要实现的一种格式是在段落周围绘制边框(用于引号).正常的文本格式,如字体,粗体,斜体等似乎工作正常,但当我使用像边框这样的CSS属性时,它不能像我期望的那样工作.见图;仅显示backg 我试图使用可以显示丰富内容的UILabel.为此,我使用UILabel中的attributedText属性和NSAttributedString I alloc与NS HTMLTextdocumentType.

我想要实现的一种格式是在段落周围绘制边框(用于引号).正常的文本格式,如字体,粗体,斜体等似乎工作正常,但当我使用像边框这样的CSS属性时,它不能像我期望的那样工作.见图;仅显示background-color属性.

这个UILabel的attributedText属性是:

<style>  body{Font:10pt Verdana;} .quote {background-color:#ddd;border:1px solID #aaa;}</style><body>  <div >This is a quote</div>  <br/>  Bla bla bla</body>

我期望的是UILabel内第一句/段的边界 – 而不是整个UILabel周围的边界.

文本背景显示,但预期的边框不显示.甚至有可能实现这一目标吗?我更喜欢使用UILabel来保持我的UItableVIEw快速.

解决方法 我不知道这是在SDK中实现的,即使你可以限制到iOS 7.但是至少有两个常规选项.

在UILabel的子类中,您可以使用NSAttributedString的大小调整方法(例如boundingRectWithSize:options:context:size)来计运算符文本的显示位置,并在重写drawTextInRect:中绘制边框.您可以通过计算前一个文本的框架和附加的子文本然后取其差异来推导出所需的边框.

另一种选择是在你的NSAttributedStrings上设置自定义属性,这是Apple公开鼓励的,从Apple’s overview开始:

You can assign any attribute name/value pair you wish to a range of
characters—it is up to your application to interpret custom attributes
(see Attributed String Programming GuIDe).

然后在NSAttributedStrings的子类中,覆盖绘图方法(如drawInRect:),并根据自定义属性的第一个建议实现类似的自定义绘图逻辑,否则依赖于super.

总结

以上是内存溢出为你收集整理的ios – 如何在UILabel的段落周围绘制边框?全部内容,希望文章能够帮你解决ios – 如何在UILabel的段落周围绘制边框?所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1065806.html

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

发表评论

登录后才能评论

评论列表(0条)

保存