我正在尝试重新创建 Apple 用于查看应用程序详细信息的 tableView。
我已经成功完成了实现,除了按钮内的阴影。请注意细节按钮的边界是如何产生微妙的阴影效果的。
这是我用来绘制按钮本身的代码:
if(self.isSelected) {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, COLORWITHRGB(204, 204, 204).CGColor);
CGContextSetStrokeColorWithColor(context, COLORWITHRGB(141, 141, 141).CGColor);
CGSize labelTextSize = [self.titleLabel.text sizeWithFont: self.titleLabel.font];
CGRect labelFrame = CGRectMake(rect.size.width - labelTextSize.width - 24, (rect.size.height - labelTextSize.height - 4) / 2, labelTextSize.width + 14, labelTextSize.height + 4);
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddArc(path, NULL, labelFrame.origin.x + labelFrame.size.width - labelFrame.size.height / 2, labelFrame.origin.y + labelFrame.size.height / 2, labelFrame.size.height / 2, M_PI / 2, M_PI * 3 / 2, YES);
CGPathAddArc(path, NULL, labelFrame.origin.x + labelFrame.size.height / 2, labelFrame.origin.y + labelFrame.size.height / 2, labelFrame.size.height / 2, M_PI * 3 / 2, M_PI / 2, YES);
CGPathAddLineToPoint(path, NULL, labelFrame.origin.x + labelFrame.size.width - labelFrame.size.height / 2, CGRectGetMaxY(labelFrame));
CGContextAddPath(context, path);
CGContextDrawPath(context, kCGPathFillStroke);
CFRelease(path);
}
这是到目前为止的样子:
它看起来不错,但它并没有放弃我正在寻找的东西。
有没有人有什么建议?