在UITableView中使用cornerRadius的UILabel

时间:2010-08-04 11:25:02

标签: uitableview uilabel

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

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

label.layer.cornerRadius = 10.0;

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

2 个答案:

答案 0 :(得分:0)

听起来好像使用cornerRadius可能会强制CALayer做剪辑,这很昂贵。您还可以将形状“可以”作为可伸缩图像(可以用作UIView后代上的背景图像)或使用CGPath s或UIBezierPath s来绘制。

答案 1 :(得分:0)

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