这令人沮丧。我在使用UINavigationController(以及因此UINavigationBar)时遇到问题,将我的UIScrollView内容推到顶部,类似于此处发现的问题:
iOS 7 -- navigationController is setting the contentInset and ContentOffset of my UIScrollView
IOS7 : UIScrollView offset in UINavigationController
我尝试了两种建议的解决方案,即在我的视图控制器self.automaticallyAdjustsScrollViewInsets = true
方法中设置viewDidLoad()
并在界面生成器中取消选择Adjust Scroll View Insets
。两种解决方案都删除了顶部的边距,但正如其他一些人已经注意到的那样,我不能再滚动了。
UIScrollView和ContentView填充整个视图控制器。我的内容视图(在UIScrollView中)包含标签,段和底部的UITextView。它与内容视图中的内容有关吗?
如果需要,我可以附上图片。使用XCode 7,Swift 2和iOS 9。
答案 0 :(得分:2)
我解决了我的问题。在自动布局中,我没有设置内容视图的高度限制。 以前,我已将内容视图的底部固定到包含UIScrollView的视图控制器。 我删除了那个引脚并明确设置了高度。它现在有效。
答案 1 :(得分:1)
我刚遇到同样的问题。我有一个“关于”视图,其中包含一堆包含静态文本的标签。我在视图控制器内部有一个UIScrollView,它被推下来了。我没有固定在屏幕底部的标签,当没有必要这样做的时候,这个标签被从页面上抽出。
我有以下视图层次结构:
Content View
固定在Scroll View
的范围内,但宽度和高度与View
具有相同的约束。
我通过添加另一个UIView
作为View
的孩子来解决这个问题。我的层次结构现在看起来像这样:
我将Content View
上的高度限制设置为与Inner View
相等的高度。这解决了我的问题,一切都开始正确显示。 Inner View
固定在View
的边框上。
注意:在层次结构中,Label
应为Content View
的子项。在预览中,它显示Markdown列表不能那么深。
答案 2 :(得分:0)
可能或可能不适用于你,但如果你有一个导航控制器并且你不需要它是半透明的,你可以做一些事情import UIKit
import QuartzCore
class Recht: UIViewController, ENSideMenuDelegate, UIWebViewDelegate {
@IBOutlet var pdfView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
pdfView.delegate = self
let url = NSBundle.mainBundle().URLForResource(String(lawNumberToPresent), withExtension: "pdf")
let pdfDoc = PDFDocument(URL: url)
pdfDoc.pageCount()
}
}
这可能有助于您的奇数抵消。