2014-02-15 52 views

回答

4

你的故事板谨这 在IOS 7滚动视图必须覆盖到整个屏幕
你需要把图像的顶部边缘

Your Storyboard

你会输出如下

enter image description here

+0

是的,我知道,但这是我问的问题。为什么有差异? – SnowWolf

+0

@SnowWolf - 从ios 7开始,苹果已经开始重视内容 - 你可以在ios 7中的所有UI上做任何事情,比如导航栏,tabbar都是半透明的。现在想一下在滚动视图中有100张图像的情况 - 当您向下滚动时,图像必须位于导航栏的后面,以便苹果进行这些更改。如果你放在下面然后当你100图像开始滚动你的顶部空间(导航栏空间)将保持为空 –

+0

谢谢,很清楚。 – SnowWolf

0

请检查以下内容:

  1. 是自动布局上?然后关掉它

  2. 您是否在使用不同尺寸的模拟器? (故事板是4英寸,而模拟器是3.5英寸),如果是这样,很多东西都是建立像关掉自动调整大小右侧和底部约束

希望这有助于

+0

我试过把它打开或关闭,没有区别。它们的尺寸肯定是4英寸。 – SnowWolf

1
  1. 使全屏幕UIScrollView中,添加一个全屏幕的内容查看到的UIScrollView
  2. 添加一个透明的,以便该内容视图的顶部:顶部:0,左: 0,右:0,等于宽度与滚动,高度:64 enter image description here
  3. 钩向上透明视图的高度约束(其为64)(状态栏&导航栏的高度)到您的ViewController类作为IBOutlet中: enter image description here
  4. 根据需要设计您的视图;我将在导航栏下方添加一个按钮:top space to transparent view:8,left:8,width:30,height:30 enter image description here
  5. 将代码添加到您的ViewController类;如果iOS版本是iOS7,设置透视图的高度约束为0(零),如果是iOS8上,什么都不做:
- (void) updateViewConstraints { 
    [super updateViewConstraints]; 

    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) { 
     _transparentTopViewYConstraint.constant = 0; 
    } 
} 

结果,所有视图的顶部空间是相对透明的景观,如果系统版本是iOS7,则透明视图的高度将为0(零),并且您的视图将移动到顶部,对于我的示例顶部空间将仅为8,因此您的视图位于导航栏的正下方。如果系统版本是iOS8,则透明视图的高度将为64,并且您的视图的顶部空间将为8 + 64,因此您的视图将再次位于导航栏的正下方。

相关问题