【发布时间】:2013-09-18 23:02:27
【问题描述】:
我在 iOS 7 中的视图控制器出现问题。我正在尝试找出在导航栏和状态栏下调整视图布局的最佳方法,同时保持导航栏的透明度/模糊性。例如,如果我有一个视图控制器:
def viewDidLoad
@scroll = UIScrollView.alloc.initWithFrame(new_frame)
@scroll.bounces = true
@scroll.delegate = self
@scroll.alwaysBounceVertical = true
@scroll.scrollsToTop = true
@scroll.contentSize = CGSizeMake(UIScreen.mainScreen.bounds.size.width, scroll_frame.size.height)
self.view.addSubview(@scroll)
end
我的内容出现在导航栏下,我得到了 iOS 7 过渡指南。为了纠正这个问题,如果我在 viewDidLoad 中添加以下内容:
self.edgesForExtendedLayout = UIRectEdgeNone
布局已调整,但导航栏不再具有透明度或模糊性,因为视图没有在其后面延伸。
如果我不调整 scrollView 插图而不是设置布局边缘:
self.automaticallyAdjustsScrollViewInsets = false
然后将我的滚动框架更改为:
def viewDidLoad
nav_bar_height = self.navigationController.navigationBar.frame.size.height
status_height = UIApplication.sharedApplication.statusBarFrame.size.height
height = nav_bar_height + status_height
scroll_frame = self.view.bounds
new_frame = CGRect.new([0, height], [scroll_frame.size.width, scroll_frame.size.height])
@scroll = UIScrollView.alloc.initWithFrame(new_frame)
@scroll.bounces = true
@scroll.delegate = self
@scroll.alwaysBounceVertical = true
@scroll.scrollsToTop = true
@scroll.contentSize = CGSizeMake(UIScreen.mainScreen.bounds.size.width, scroll_frame.size.height)
self.view.addSubview(@scroll)
end
我不再获得导航栏的透明/模糊。只有当我调整滚动的框架 - 在 x 原点 - 具有新的高度时,这似乎才会发生。所以我想知道为什么会这样,以及如何在不丢失模糊/透明度的情况下最好地调整滚动。
【问题讨论】:
标签: layout ios7 rubymotion