swift - ios9 的 ScrollView 和导航栏

标签 swift uiscrollview ios9 navigationbar

我有一个嵌入在导航 Controller 中的 View Controller (名为 View2)。 在此 View 中,我有一个 ScrollView,它覆盖了所有 View (包括导航栏)。

此 View Controller 是通过调用从另一个 View 呈现的:

let view2 = self.storyboard?.instantiateViewControllerWithIdentifier("View2") as! View2
let modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CrossDissolve
let nav: UINavigationController = UINavigationController.init(rootViewController: view2)
nav.modalTransitionStyle = modalStyle
self.presentViewController(nav, animated: true, completion: nil)

在我的View2中,我将导航栏调整为半透明:

navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.translucent = true

但是有一个问题,当 View2 出现时, ScrollView 从导航栏下方开始。我必须在 ScrollView 上点击一次才能看到它在屏幕顶部的导航栏上方自动调整。

有解决办法吗?

我希望 ScrollView 出现在屏幕顶部、半透明导航栏上方。

感谢您的反馈,

托马斯

最佳答案

您是否尝试在 View Controller 上设置automaticallyAdjustsScrollViewInsets = false

另一个选项是在 View Controller 的属性检查器的“扩展边缘”中取消选中“在顶栏下方”选项。

希望这有帮助。

关于swift - ios9 的 ScrollView 和导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587767/

相关文章:

swift - 菜单栏弹出窗口在 Dock 图标上打开,单击 OSX

ios - 如何按顺序将 subview 添加到 UIScrollView

ios - UIColectionView Vertical Scrolling inside a Scrollview - 在 Collection View 区域滚动时禁用 ScrollView 的滚动

objective-c - 在自动布局中仅以固定宽度垂直 ScrollView

ios - Swift:更改 iOS 13 的状态栏颜色

ios - 快速多级导航看不到后退按钮

protocols - Swift 2 在协议(protocol)扩展 "Cannot use mutating member on immutable value: ' self' 中使用变异函数时出错

ios - 屏幕比例/大小在 iOS 8 中是正确的,但在同一设备上的 iOS 9 中是错误的

ios - 使用 NSURLSession 发出 http DELETE 请求

ios - Xcode : Disable rotation for a view in the ViewController. swift