如何在iOS 7的导航栏上获得模糊和半透明的效果?

普纳

问题

我的应用似乎布局正确,但是我无法达到iOS 7闻名的模糊半透明效果。矿山看起来不透明。

在此处输入图片说明

所需效果

我正在尝试获得更明显的模糊效果,例如Apple的Trailers应用程序:

在此处输入图片说明

半透明

在我的UINavigationController子类中,使导航栏为半透明的:

- (id)initWithRootViewController:(UIViewController *)rootViewController
{
    if (self = [super initWithRootViewController:rootViewController]) {
        self.navigationBar.translucent = YES;
    }
    return self;
}

淡色

在UIApplicationDelegate的子类中,设置导航栏的颜色。我发现色调的alpha值没有区别。也就是说,使用0.1的alpha值不会使该条变得更加半透明。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [[UINavigationBar appearance] setTintColor:[UIColor greenColor]];
}

边缘

在我的内容视图控制器中,将边缘设置为,UIRectEdgeNone这样顶部就不会被导航栏截断如果使用default UIRectEdgeAll,导航栏将永久覆盖我内容的顶部。即使我患有这种异常,UIRectEdgeAll仍然不能启用半透明效果。

- (void) viewDidLoad
{
    [super viewDidLoad];
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

编辑:尝试边缘

@rmaddy在评论中指出的广告,问题可能出在edgesForExtendedLayout。我找到了一个全面的教程edgeForExtendedLayout并尝试实现它:

- (void) viewDidLoad
{
    [super viewDidLoad];

    self.edgesForExtendedLayout = UIRectEdgeAll;
    self.automaticallyAdjustsScrollViewInsets = YES;
    self.extendedLayoutIncludesOpaqueBars = NO;
}

它不起作用。首先,没有半透明效果。其次,我的内容的顶部被砍掉了。在下面带有上述代码的示例页面上,头像最初被导航栏覆盖,很难滚动到该头像。您可以往下拉查看化身的顶部,但是放开时,页面会自动弹回,化身将再次被遮盖。

在此处输入图片说明

普纳

该问题是由第三方下拉至刷新视图EGORefreshTableHeaderView引起的,该视图在iOS 6引入系统刷新控件之前被广泛使用。

在此处输入图片说明

该视图使iOS 7感到困惑,使其认为内容比实际的要高。对于iOS 6和7,我有条件地切换为使用UIRefreshControl现在,导航栏将不会切断我的内容。我可以UIRectEdgeAll用来使内容进入导航栏的下方。最后,我在导航栏上设置了较低的alpha值以获得半透明效果。

// mostly redundant calls, because they're all default
self.edgesForExtendedLayout = UIRectEdgeAll;
self.automaticallyAdjustsScrollViewInsets = YES;
self.extendedLayoutIncludesOpaqueBars = NO;

[[UINavigationBar appearance] setTintColor:[UIColor colorWithWhite:0.0 alpha:0.5]];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使导航栏透明

来自分类Dev

如何在iOS7的UIPopoverController中禁用更暗的透明效果?

来自分类Dev

如何在iOS中删除导航栏?

来自分类Dev

如何在iOS7上使UINavigationBar完全透明?

来自分类Dev

透明/模糊导航栏的iOS 7视图控制器布局问题

来自分类Dev

iOS 7 UITableView使用透明的导航栏和工具栏

来自分类Dev

如何在iOS中呈现半透明(半切)的ViewController?

来自分类Dev

如何在iOS 7上获取不透明的UINavigationBar

来自分类Dev

如何提高iOS 7中工具栏和导航栏上的按钮的点击能力

来自分类Dev

导航栏iOS 7中的半透明和自定义图像

来自分类Dev

如何在UITableViewCell的背景中实现实时iOS7模糊效果

来自分类Dev

使用Qt获得类似于iOS7的模糊效果

来自分类Dev

如何在iOS 6中删除导航栏标题的默认阴影效果

来自分类Dev

如何在背景上制作模糊效果

来自分类Dev

如何在半透明背景上创建透明区域(div)?

来自分类Dev

如何在iOS 7中禁用向右导航栏按钮?

来自分类Dev

如何在iOS中推送整个视图,包括导航栏和工具栏

来自分类Dev

iOS双导航栏通过设置半透明关闭

来自分类Dev

iOS中的半透明导航栏模糊

来自分类Dev

如何在iOS 10中使导航栏透明

来自分类Dev

如何在iOS上长按?

来自分类Dev

如何在SwiftUI中制作半透明的导航栏?

来自分类Dev

如何使导航栏透明

来自分类Dev

ios7强制半透明标签栏

来自分类Dev

如何在iOS 7中禁用向右导航栏按钮?

来自分类Dev

如何制作类似iOS 7的半透明效果HTML

来自分类Dev

iOS-内容上的半透明导航栏

来自分类Dev

Android:如何将状态栏和导航栏设置为半透明

来自分类Dev

Xamarin.Forms-如何在iOS和Android上使导航/系统栏透明

Related 相关文章

热门标签

归档