IOS9: UINavigationController 中的 UIScrollView 偏移量
IOS9: UIScrollView offset in UINavigationController
这太令人沮丧了。我遇到 UINavigationController(以及 UINavigationBar)将我的 UIScrollView 的内容向下推到顶部的问题,类似于此处发现的问题:
iOS 7 -- navigationController is setting the contentInset and ContentOffset of my UIScrollView
IOS7 : UIScrollView offset in UINavigationController
我尝试了两种推荐的解决方案:在我的视图控制器的 viewDidLoad()
方法中设置 self.automaticallyAdjustsScrollViewInsets = true
并在 Interface Builder 中取消选择 Adjust Scroll View Insets
。这两种解决方案都删除了顶部的边距,但正如其他一些人指出的那样,我无法再滚动了。
UIScrollView 和 ContentView 填满了整个视图控制器。我的内容视图(在 UIScrollView 内)包含标签、段和底部的 UITextView。跟Content View里的内容有关系吗?
如果需要我可以附上图片。使用 XCode 7、Swift 2 和 iOS 9.
可能适用也可能不适用于你,但如果你有一个导航控制器并且你不需要它是半透明的,你可以按照 self.navigationController.navigationBar.translucent = NO;
的方式做一些事情
这可能有助于您的奇数抵消。
我解决了我的问题。在自动布局中,我没有设置内容视图的高度限制。
以前,我将内容视图的底部固定到包含 UIScrollView 的视图控制器。
我删除了那个别针并明确设置了高度。现在可以使用了。
我刚刚 运行 遇到了同样的问题。我有一个 "About" 视图,其中包含一堆包含静态文本的标签。我在视图控制器中有一个 UIScrollView,它被向下推。我在屏幕底部固定了一个标签,在没有必要这样做的时候被从页面上拉下来了。
我有以下视图层次结构:
- 视图控制器
- 查看
- 滚动视图
- 内容视图 (UIView)
- 标签
- 标签
Content View
被固定到 Scroll View
的边界,但宽度和高度具有与 View
.
相同的约束
我通过添加另一个 UIView
作为 View
的子项解决了这个问题。我的层次结构现在看起来像这样:
- 视图控制器
- 查看
- 内部视图 (UIView)
- 滚动视图
- 内容视图 (UIView)
- 标签
- 标签
我将 Content View
的高度限制设置为与 Inner View
相同的高度。这为我解决了问题,一切都开始正确显示。 Inner View
固定在 View
的边框上。
注意:在层次结构中,Label
应该是 Content View
的子级。在预览中,显示 Markdown 列表不能那么深。
这太令人沮丧了。我遇到 UINavigationController(以及 UINavigationBar)将我的 UIScrollView 的内容向下推到顶部的问题,类似于此处发现的问题:
iOS 7 -- navigationController is setting the contentInset and ContentOffset of my UIScrollView
IOS7 : UIScrollView offset in UINavigationController
我尝试了两种推荐的解决方案:在我的视图控制器的 viewDidLoad()
方法中设置 self.automaticallyAdjustsScrollViewInsets = true
并在 Interface Builder 中取消选择 Adjust Scroll View Insets
。这两种解决方案都删除了顶部的边距,但正如其他一些人指出的那样,我无法再滚动了。
UIScrollView 和 ContentView 填满了整个视图控制器。我的内容视图(在 UIScrollView 内)包含标签、段和底部的 UITextView。跟Content View里的内容有关系吗?
如果需要我可以附上图片。使用 XCode 7、Swift 2 和 iOS 9.
可能适用也可能不适用于你,但如果你有一个导航控制器并且你不需要它是半透明的,你可以按照 self.navigationController.navigationBar.translucent = NO;
这可能有助于您的奇数抵消。
我解决了我的问题。在自动布局中,我没有设置内容视图的高度限制。 以前,我将内容视图的底部固定到包含 UIScrollView 的视图控制器。 我删除了那个别针并明确设置了高度。现在可以使用了。
我刚刚 运行 遇到了同样的问题。我有一个 "About" 视图,其中包含一堆包含静态文本的标签。我在视图控制器中有一个 UIScrollView,它被向下推。我在屏幕底部固定了一个标签,在没有必要这样做的时候被从页面上拉下来了。
我有以下视图层次结构:
- 视图控制器
- 查看
- 滚动视图
- 内容视图 (UIView)
- 标签
- 标签
Content View
被固定到 Scroll View
的边界,但宽度和高度具有与 View
.
我通过添加另一个 UIView
作为 View
的子项解决了这个问题。我的层次结构现在看起来像这样:
- 视图控制器
- 查看
- 内部视图 (UIView)
- 滚动视图
- 内容视图 (UIView)
- 标签
- 标签
我将 Content View
的高度限制设置为与 Inner View
相同的高度。这为我解决了问题,一切都开始正确显示。 Inner View
固定在 View
的边框上。
注意:在层次结构中,Label
应该是 Content View
的子级。在预览中,显示 Markdown 列表不能那么深。