【问题标题】:UIScrollView is clipped and does not scroll with AutolayoutUIScrollView 被裁剪并且不使用 Autolayout 滚动
【发布时间】:2014-03-06 16:25:23
【问题描述】:

我在我的应用程序中创建了一个自定义导航菜单,我想用滚动视图显示一些信息。

我有一个 mainViewController,顶部有一个自定义导航菜单和一个视图(占位符)。然后我创建了一个自定义 segue 和另外 3 个视图,对应于自定义菜单的 3 个选项卡。这些视图(viewA、viewB 和 viewC)更小以适合占位符,因此用户将看到顶部的自定义栏以及占位符中与 viewA(B 或 C)相对应的信息。这是我的 mainViewController 的架构。

在 viewA 中,我想在滚动视图中显示一些信息。这是我的架构:

但是 viewA 被剪裁了,它不会向下滚动。但是如果我让我的滚动视图更小,它会向下滚动。我猜这个问题与底部布局指南间距约束有关,因为我的视图位于占位符内部。我做错了什么?我想同时支持 iPhone 3.5 和 4 英寸的屏幕。

【问题讨论】:

    标签: ios uiscrollview autolayout


    【解决方案1】:

    这听起来好像你没有设置你的滚动视图的 contentSize。

    如果您的 scrollview.contentSize 框架比您的 scrollview 框架大,您的 scrollview 将不会滚动,因此您需要将您的 scrollview.contentSize 设置为比您的 scrollView 框架更大以进行滚动。

    【讨论】:

    • 我在 viewWillAppear 中添加了这个,它仍然无法滚动 [self.mainScrollView setContentSize:CGSizeMake(320, 2000)]
    • 你不是在方法-(void)viewDidAppear:(BOOL)animated或者viewWillAppear之后执行的其他方法中改变滚动视图框架是吗??
    • 我不改变框架。我应该在哪里设置内容大小?
    • 取决于您是否正在实施其他方法。但是,例如,如果您在 viewDidLoad 中执行某些操作,则没有任何问题,因为 -viewWillAppear 是在之后执行的。我会尝试设置你的 uiscrollview 的框架和 contentSize 之后,并在方法 -ViewDidAppear 例如检查大小和 contentSize,也许他们正在改变
    • 我没有实现任何其他方法。我尝试设置框架和内容大小,结果是一样的。滚动视图不滚动。
    猜你喜欢
    • 1970-01-01
    • 2013-10-15
    • 2014-10-24
    • 2020-12-07
    • 2012-04-18
    • 2014-05-20
    • 2021-09-14
    • 1970-01-01
    • 2013-02-27
    相关资源
    最近更新 更多