UIButton.titleLabel阴影是剪辑

时间:2012-11-29 08:29:08

标签: objective-c ios uibutton uilabel frame

因为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边界,阴影正在剪切。

任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:0)

您是否尝试使用图层。我认为它会解决你的问题,可能,你不需要你做了什么。

简单地说,制作你的按钮的图层(CALayer)对象并使用你需要的属性。记住,对于使用图层你需要QuartzCore框架来导入。

尝试一下,在任何关注中只是给我一个喊叫。