我正在尝试模仿苹果邮件应用程序中使用的count-label,它显示文件夹/邮箱中的消息计数。文本颜色为白色,标签背景为带圆角的灰色/蓝色。(screenshot)
为了获得相同的外观,我为我的表制作了一个自定义的UITableViewCell,并尝试像这样设置相应标签的样式:
label.layer.cornerRadius = 10.0;这段代码基本上看起来像邮件应用程序。然而,这段代码的性能似乎真的很差。我已经在我的iPhone3GS上安装了这个应用程序,当滚动表格时,视图移动得非常慢和不平滑。当我禁用圆角时,它又运行得很好了。我的代码是不是有些错误,或者我能做些什么来提高性能?我应该使用png背景而不是圆角吗?如果是这样,我需要做什么才能让png背景根据标签宽度/文本长度调整其宽度?我已经添加了代码来做到这一点,它的工作,但我认为对于png背景,它只是strech/扭曲背景图像,对吧?
发布于 2010-08-04 19:32:44
这听起来像是使用cornerRadius可能会迫使CALayer进行裁剪,这是很昂贵的。您还可以将形状“扫描”为可拉伸图像(可以用作UIView子体上的背景图像),或者使用CGPaths或UIBezierPaths绘制它。
发布于 2012-11-19 15:51:51
最简单的方法是制作一个烘焙地面图像并使用它,这是一个简单的siloution,如果你想通过编码,那么它是困难的,因为UIlabel没有令人讨厌的角落
https://stackoverflow.com/questions/3405014
复制相似问题