【问题标题】:UILabel with cornerRadius inside UITableViewUITableView 内带有cornerRadius的UILabel
【发布时间】:2010-08-04 11:25:01
【问题描述】:

我正在尝试模仿苹果邮件应用程序中使用的计数标签,该标签显示文件夹/邮箱中的邮件计数。文本颜色为白色,标签背景为带圆角的灰色/蓝色。 (screenshot)

为了获得相同的外观,我为我的表格制作了一个自定义 UITableViewCell,并尝试像这样设置相应标签的样式:

label.layer.cornerRadius = 10.0;

这段代码基本上看起来像邮件应用程序。然而,这段代码的性能似乎真的很差。我已经在我的 iphone 3gs 上安装了该应用程序,当滚动表格时,视图移动非常缓慢且不流畅。当我禁用圆角时,它再次运行良好。 我的代码是否有些错误,或者我可以做些什么来提高性能?我应该使用 png 背景而不是圆角吗?如果是这样,我需要做什么才能让 png 背景根据标签宽度/文本长度调整其宽度?我已经添加了代码来做到这一点并且它可以工作,但我认为对于 png 背景它只会拉伸/扭曲背景图像,对吧?

【问题讨论】:

  • 这在 Visual Basic 中是不可能的。也许如果你学会标记,我们都可以知道你在处理什么......

标签: uitableview uilabel


【解决方案1】:

听起来使用cornerRadius 可能会强制CALayer 进行剪辑,这很昂贵。您还可以将形状“可以”为可拉伸图像(可用作UIView 后代的背景图像)或使用CGPaths 或UIBezierPaths 绘制它。

【讨论】:

    【解决方案2】:

    最简单的方法是你制作一个背景图像并使用它,这是简单的 siloution,如果你想通过编码,那么这很困难,因为 UIlabel 没有红色的角落

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 2011-06-11
      • 2021-01-14
      相关资源
      最近更新 更多