使用CALayer的UILabel阴影不会绘制

时间:2013-11-13 16:05:59

标签: ios objective-c

我试图用标签的UILabel绘制CALayer的阴影。

嗯,这是我的代码:

    nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(70.0, 2.0, 180.0, 40.0)];

    [nameLabel setFont:[UIFont fontWithName:@"HelveticaNeue-UltraLight" size:26.0]];
    [nameLabel setTextColor:[UIColor whiteColor]];
    [nameLabel setClipsToBounds:NO];
    [[nameLabel layer] setShadowColor:[UIColor blackColor].CGColor];
    [[nameLabel layer] setShadowOffset:CGSizeMake(1.0, 2.0)];
    [[nameLabel layer] setShadowRadius:20.0f];
    [[nameLabel layer] setShadowOpacity:0.5f];

标签包含在UIView中。 如果我只是将CALayer(并隐藏标签本身)作为子图层添加到视图中,它只显示文本,而不显示阴影。

设置setMasksToBoundssetShouldRasterize无济于事。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

shadowRadius的正值会使阴影模糊很多,应该使用小值或零值来获得清晰可见的阴影。