滚动视图不在自动布局 xcode 6.4 中滚动

Posted

技术标签:

【中文标题】滚动视图不在自动布局 xcode 6.4 中滚动【英文标题】:scrollview is not scrolling in autolayout xcode 6.4 【发布时间】:2015-08-12 08:35:21 【问题描述】:

我正在使用 UIScrollview 和 UIView 的顶部,但滚动不起作用。 对于滚动视图,我在所有边 (0,0,0,0) 上添加了约束,然后我采用容器视图并为所有边添加了 (0,0,0,0) 的约束。以及我为此容器视图添加的另一个约束到具有相等宽度的视图。

我的滚动视图高度为 504,容器高度为 840。我没有收到任何警告和建议限制,但无法滚动。这里缺少什么。请建议我。

【问题讨论】:

对于滚动,您需要设置 contentSize 并且只有在 contentSize 大于界限时才会滚动 【参考方案1】:

如果您已正确添加约束。然后添加这个

将属性或您的滚动视图和容器视图设为

@property (weak, nonatomic) IBOutlet UIScrollView *scrollview;
@property (weak, nonatomic) IBOutlet UIView *containerview;

然后在.m文件中

@synthesize scrollview,containerview,

然后添加这个

-(void)viewDidAppear:(BOOL)animated

    [scrollview setContentSize:CGSizeMake(scrollview.frame.size.width, containerview.frame.size.height)];

希望能解决你的问题。

【讨论】:

【参考方案2】:

x-code 6.4 中的自动布局没有问题,只需尝试检查您是否已正确绑定滚动视图的出口,并为滚动视图提供 contentsize 以了解您希望滚动多少滚动视图。

scrollview.ContentSize = CGContentSize(0, height);

--> 将高度作为浮点数或整数指定为您想要滚动滚动视图的程度。

【讨论】:

【参考方案3】:

要使 ScrollView 正常工作,请通过 CTRL + 拖动滚动视图将其引用到您的 .h 文件,然后在您的 .m 文件上添加一个

scrollView.contentSize(0,doubleTheSizeOfTheViewHeight);

如果您希望滚动可以水平滚动,请对宽度执行相同操作。

希望对你有帮助

更新 或者,您始终可以将其用于情节提要的方式: Storyboard UIScrollView contentSize?

【讨论】:

【参考方案4】:

要使 UIScrollview 滚动,您必须取消选中 XIB 中的“使用自动布局”复选框。

【讨论】:

以上是关于滚动视图不在自动布局 xcode 6.4 中滚动的主要内容,如果未能解决你的问题,请参考以下文章

带有约束的滚动视图自动布局问题 xcode 8

嵌入导航控制器时 Xcode 滚动视图自动布局问题?

如何使用自动布局 beta 7 UIKIT 修复 xcode 11 中可滚动内容大小的歧义

自 IOS 8 以来使用自动布局和滚动视图的额外顶部空白

有没有办法在结合页面控制的滚动视图中自动布局图像?

自动布局不会在 iOS 8-Xcode 6 中立即更新帧