iOS 7 视图布局和半透明效果

3

我有几个问题。基本上我想要重建这个视图:

enter image description here

但是在重建过程中我遇到了一些奇怪的行为。让我们开始吧:

首先是我的进展情况:

设备截图:

enter image description here

我的视图控制器结构(Storyboard):

enter image description here

好,逐步来吧:

导航栏

我试图使它透明,我认为它通常会起作用,但是如您在我的结构中所看到的,我在我的背景图像视图(大头像)上放置了一个UIView来模拟alpha叠加。正如您在我的设备截图中看到的,导航栏切掉了叠加层。那么有什么解决方法吗?

代码:

[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                                               forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBarHidden = NO;

视图定位

您可能已经注意到,只有背景个人资料图片才会出现在导航栏后面,但圆形图片和文本标签与导航栏具有相同的顶部间距。它不应该也受到导航栏半透明的影响吗?有什么提示可以提供吗?

此外,充当透明覆盖层的UIView并没有下降太多以填充图像。即使我设置了所有完全相同的高度。

您无法在这些图像上看到它,但包含所有计数标签的视图重叠在背景图像视图上(背景图像视图甚至不应该下降那么远,非常奇怪!)。

你们是我的最后希望。否则我必须放弃这个很棒的设计;(


你是否正在使用自动布局?不使用它可能会导致视图的大小调整不同。 - Craig Siemens
@godCleverError 的观点很好,但我正在使用它... 我也试图将其关闭,但它是Storyboard范围的,这不太好。我的其他视图都是基于自动布局的... - SaifDeen
2个回答

0

看起来不错,你已经接近成功了!问题可能是你的视图控制器中有一个UIScrollView,并且它正在遵循导航控制器应用的内容插入(假设有一个,因为我在你的故事板中看到了一个导航项)。

尝试在你的视图控制器上设置这个:

self.automaticallyAdjustsScrollViewInsets = NO;

0

你的阴影视图应该附加到Superview的顶部,而不是顶部布局指南。如果需要更多帮助,可以发布您的约束条件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接