UILabel 阴影与 CALayer 不绘制



我试图用标签的CALayer画一个UILabel的阴影。

好吧,这是我的代码:

    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无济于事。

有什么想法吗?

shadowRadius

正值会使阴影模糊很多,对于清晰可见的阴影,应使用较小的值或零值。

最新更新