我正在尝试模仿苹果邮件应用程序中使用的计数标签,该应用程序显示文件夹/邮箱中的邮件数。文本颜色为白色,标签背景为灰色/蓝色,带圆角。 (screenshot)
为了获得相同的外观,我为我的桌子制作了一个自定义的UITableViewCell,并试图像这样设置相应的标签样式:
label.layer.cornerRadius = 10.0;
此代码基本上看起来像邮件应用程序。但是这段代码的性能似乎很差。我已经在我的iphone 3gs上安装了应用程序,当滚动表格时,视图移动得非常缓慢且不平滑。当我禁用圆角时,它再次运行良好。 是我的代码有点错误,或者我可以做些什么来提高性能?我应该使用png背景而不是圆角吗?如果是这样,我需要做什么让png背景根据标签宽度/文本长度调整其宽度?我已经添加了代码来执行此操作并且它可以工作,但我认为对于png背景它只会拉伸/扭曲背景图像,对吧?
答案 0 :(得分:0)
听起来好像使用cornerRadius
可能会强制CALayer
做剪辑,这很昂贵。您还可以将形状“可以”作为可伸缩图像(可以用作UIView
后代上的背景图像)或使用CGPath
s或UIBezierPath
s来绘制。
答案 1 :(得分:0)
最简单的方法是制作一个bakground图像并使用它这是简单的siloution,如果你想通过编码然后很难,因为UIlabel没有红色角落