因为 UIButton.titleLabel.shadowOffset 属性使阴影清晰,所以我更改了 drawTextInRect 方法以创建具有如下半径的自定义阴影:
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
float colorValues[] = {0, 0, 0, opacity};
CGColorRef shadowColor = CGColorCreate(colorSpace, colorValues);
CGSize shadowOffset = CGSizeMake(offsetX, offsetY);
CGContextSetShadowWithColor (context, shadowOffset, radius, shadowColor);
这工作正常。它会产生阴影。我更改了 titleLabel 的边界并调用了 drawTextInRect 方法,例如:
button.titleLabel.bounds = CGRectMake(button.titleLabel.bounds.origin.x, button.titleLabel.bounds.origin.y, button.titleLabel.bounds.size.width, button.titleLabel.bounds.size.height);
[button.titleLabel drawTextInRect:button.titleLabel.bounds];
[button setNeedsLayout];
由于 titleLabel 的边界,阴影被剪裁了。
任何帮助将不胜感激...