ios - 无法从导航栏中删除阴影

标签 ios uinavigationcontroller uinavigationbar

我试图从导航栏中删除阴影但没有成功 (iOS7)。

使用下面的代码,

方法一

    [self.navigationController.navigationBar setBackgroundImage:image
       forBarPosition:UIBarPositionAny
       barMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBar setShadowImage:[UIImage new]];

方法二

    for (UIView *view in self.navigationController.navigationBar.subviews) {
        for (UIView *view2 in view.subviews) {
            if ([view2 isKindOfClass:[UIImageView class]]) {
                [view2 removeFromSuperview];
            }
        }
    }

方法三

    [self.layer setMasksToBounds:YES];

方法四

    [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
    [[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];

方法五

    [self.navigationController.navigationBar setBackgroundImage:image
                                                 forBarPosition:UIBarPositionAny
                                                     barMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBar setShadowImage:[[UIImage imageNamed:@"transparentpx.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)]];

它们都不适合我。 任何人都可以建议新方法..

最佳答案

使用空图像对我不起作用。

我不得不使用 1x1 像素的透明图像作为阴影图像,以使其看起来不可见。

[self.navigationBar setShadowImage:[[UIImage imageNamed:@"navbar-shadow"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)]];

关于ios - 无法从导航栏中删除阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122598/

相关文章:

ios - 具有多行的 UIBarButtonItem 显示为低分辨率

ios - 创建一个 UINavigationController 目前 2 UIViewController 在 Objective-C 中

iphone - 如何从 uinavigationcontroller 堆栈中删除特定的 View Controller ?

iphone - 为什么我们需要在 iPhone 的 UIImagePickerController 中实现导航 Controller 委托(delegate)

ios - 以编程方式在 UITabBarController 和 UINavigationController 中呈现 View

javascript - 即使不滚动,我也可以在 iPad 上显示滚动条吗?

ios - 以编程方式用箭头拉回按钮?

ios - ScrollView 平移手势与 panGestureRecognizer 之间的冲突

ios - FireBase 分析 IOS

ios - 如何避免sqlite数据库被对方覆盖