Я использую ABTableViewCell из 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
Что я могу сделать, чтобы хорошо прокручивать игру с тенью?