自定义 UIView 或 UIControl 绘制文本与标签?
Posted
技术标签:
【中文标题】自定义 UIView 或 UIControl 绘制文本与标签?【英文标题】:Custom UIView or UIControl draw text vs label? 【发布时间】:2014-04-10 12:27:19 【问题描述】:我正在完成一个自定义 UIControl。我需要在控件上显示一些文本,但我不确定什么是更好的实践:添加标签作为子视图或在 drawRect 方法中绘制文本。我见过这两种方法,但我不确定什么是更好的实施实践。文本不需要格式化,纯文本就可以了。
【问题讨论】:
你看到这个答案了吗? ***.com/questions/14659563/… 我没有。感谢您的链接。 【参考方案1】:这两种方法都很好。但是,您对 UILabel 的维护/控制比您的 drawRect: 方法更好。 您可以从外部来源访问标签并随时更新它,而无需调用 updateLayout 函数(调用 drawRect 的触发器)。
所以我建议你使用标签。
【讨论】:
它有性能优势,那么呢?问题是我只需要从控件内更新文本,而不是从视图控制器 好吧,drawRect: 函数将重绘整个 UIControl,而更新标签则不需要。但是,如果您仅将文本设置到控件中(并且永远不要更改它)。 DrawRect:可能是一个小的性能提升。然而,这种努力并不值得 imo。以上是关于自定义 UIView 或 UIControl 绘制文本与标签?的主要内容,如果未能解决你的问题,请参考以下文章
如何让自定义 UIControl 作为推送操作参与 segue?
如何将自定义 UIControl 中按下的 UIButton 传递给我的视图控制器?