1

我有一个看起来像这样的导航栏:

在此处输入图像描述

它是使用以下代码创建的:

//  AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    NSShadow *textShadow = [[NSShadow alloc] init];
    textShadow.shadowBlurRadius = 5.0;
    textShadow.shadowColor = [UIColor colorWithWhite: 1.0 alpha: 0.75];
    textShadow.shadowOffset = CGSizeMake(0.0, 1.0);
    [[UIBarButtonItem appearance] setTitleTextAttributes: @{ NSShadowAttributeName: textShadow } forState: UIControlStateNormal];

    return YES;
}

问题

  1. shadowBlurRadius 在哪里(至少对于“编辑”按钮)?请注意,我设置了textShadow.shadowBlurRadius = 5.0;. 提高该值似乎也无济于事。
  2. 是否可以为“+”栏按钮项目或其他非文本栏按钮项目(例如 UIBarButtonSystemItemCamera)添加阴影?我想避免生成自己的光栅化图像。

此问题仅适用于 iOS 7。

4

1 回答 1

1

实际上,您的阴影正在渲染,UIBarButonItem您可以在“编辑”栏按钮项文本中看到白色阴影。如果您想使用更好的阴影外观,请尝试在CGSizeMake此处使用 -1、1、0 范围内的值

textShadow.shadowOffset = CGSizeMake(0.0, -1.0);

有点棘手,但是要为右栏按钮项添加阴影,请在其上制作一个UIBarButton带有标题的并将其+分配给rightBarButton导航项,您将获得阴影效果,如您在左栏按钮项中看到的那样。

这有帮助。

于 2013-12-07T12:16:47.190 回答