我正在尝试使用标签的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没有帮助。

有任何想法吗?

最佳答案

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

10-08 05:57