【问题标题】:CGContextSetShadow UITableViewCell performanceCGContextSetShadow UITableViewCell 性能
【发布时间】:2011-09-16 15:59:36
【问题描述】:

我正在使用ABTableViewCell from atebits 自定义 UITableViewCell。

所以在我的子类中,我将重写 drawContentView: 来进行一些绘图。

我正在绘制一个带有阴影的圆角矩形,但由于阴影,滚动速度非常慢。如果我删除它,滚动就可以了。

这是我的代码:

/// Fill cell color
CGContextSetFillColorWithColor(context, __cgColorBCBEC1);
CGContextFillRects(context, &rect, 1);

/// Rounded rect
CGFloat radius = 5.0f;
__rrect.size.height = rect.size.height - 10.0f; // __rect represent my rounded CGRect
CGContextMoveToPoint(context, __rrect.origin.x, __rrect.origin.y + radius);
CGContextAddLineToPoint(context, __rrect.origin.x, __rrect.origin.y + __rrect.size.height - radius);
CGContextAddArc(context, __rrect.origin.x + radius, __rrect.origin.y + __rrect.size.height - radius, radius, M_PI_4, M_PI_2, 1);
CGContextAddLineToPoint(context, __rrect.origin.x + __rrect.size.width - radius, __rrect.origin.y + __rrect.size.height);
CGContextAddArc(context, __rrect.origin.x + __rrect.size.width - radius, __rrect.origin.y + __rrect.size.height - radius, radius, M_PI_2, 0.0f, 1);
CGContextAddLineToPoint(context, __rrect.origin.x + __rrect.size.width, __rrect.origin.y + radius);
CGContextAddArc(context, __rrect.origin.x + __rrect.size.width - radius, __rrect.origin.y + radius, radius, 0.0f, -M_PI_2, 1);
CGContextAddLineToPoint(context, __rrect.origin.x + radius, __rrect.origin.y);
CGContextAddArc(context, __rrect.origin.x + radius, __rrect.origin.y + radius, radius, -M_PI_2, M_PI, 1);

/// Set the shadow
CGContextSetFillColorWithColor(context, __cgGreyColorF5);
CGContextSaveGState(context);
CGContextSetShadowWithColor(context, __zeroSize, 5.0f, __cgGreyColor33);
CGContextFillPath(context);
CGContextRestoreGState(context);

/// Draw some text and a single line

我可以做些什么来让阴影有良好的滚动性能?

【问题讨论】:

    标签: ios performance uitableview core-graphics shadow


    【解决方案1】:

    没有办法通过阴影、圆角半径和蒙版获得良好的滚动性能。 唯一的技巧是有时您可以通过在所需位置添加图像并使其叠加来模拟阴影......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多