Ios 如何以最佳方式添加scrollview以优化设计为4英寸与3.5英寸兼容的屏幕尺寸?

Ios 如何以最佳方式添加scrollview以优化设计为4英寸与3.5英寸兼容的屏幕尺寸?,ios,swift,uiscrollview,Ios,Swift,Uiscrollview,在提交此问题之前,我已经搜索了该帖子。 但上面的帖子并没有回答我的问题 我们的设计师给我们发送了4英寸的设计界面,我使用带有自动布局的xib来实现设计。经理通知我们需要支持3.5英寸屏幕 我们不想再创建一个xib来适应3.5英寸的屏幕,我们只想为xib添加UIScrollView,是否有人想通过这种方式实现,而不需要修改现有的xib布局约束?只需添加滚动视图作为父视图,并检查所有约束是否正确,系统是否可以计算内容大小。尝试这种方法 从xib或情节提要场景中选择所有视图对象 在Xcode菜单>

在提交此问题之前,我已经搜索了该帖子。

但上面的帖子并没有回答我的问题

我们的设计师给我们发送了4英寸的设计界面,我使用带有自动布局的xib来实现设计。经理通知我们需要支持3.5英寸屏幕


我们不想再创建一个xib来适应3.5英寸的屏幕,我们只想为xib添加UIScrollView,是否有人想通过这种方式实现,而不需要修改现有的xib布局约束?

只需添加滚动视图作为父视图,并检查所有约束是否正确,系统是否可以计算内容大小。

尝试这种方法

  • 从xib或情节提要场景中选择所有视图对象
  • 在Xcode菜单>编辑器>嵌入>视图中
  • 再次选择新添加的视图(将其称为ContainerView)
  • 使用Xcode菜单>编辑器>嵌入>滚动视图将ContainerView添加到滚动视图中
  • 现在调整与ContainerView相关的最内部视图对象的所有约束
  • 保持ContainerView高度正常,即使超出屏幕高度
  • 调整与屏幕边界相连的顶层滚动视图高度
  • 在代码库中,设置ScrollView ContentSize=ContainerView.frame.size
参考:

因此,视图层次结构如下所示:

Default Controller View (UIView)
    |- Scroll View (UIScrollView)
        |- Container View (UIView)
            |- Other ViewObjects like UILabel,
            |- UIButton,
            |- UIImageView, etc.

希望这有帮助

你为什么不使用故事板呢?这将很容易管理。使用自动布局:@Aashish1aug谢谢你的回答,但这个项目我们已经使用了xib而不是故事板,对xib有什么建议吗?@Mrunal,我们使用了自动布局,但我们的设计是4英寸,这意味着屏幕高度比3.5英寸高得多,因此,我们需要添加滚动视图以使其可滚动。好的,请尝试更改xib属性检查器中Freefrom的设置。由于您正在使用Autolayout,我认为这将是一个稍加修改的工作。添加一个滚动视图作为父视图将需要更新xib中的所有约束,我们有很多xib…非常感谢,您的方法非常好,但正如
agent\u stack
提到的,如果我们以这种方式更改所有xib,将需要大量工作,因此,你有没有其他方法可以做到这一点,比如仅仅添加一些代码来破解它?@MellongLau如果你已经为4英寸设计准备好了视图,那么你只需复制该视图,将其粘贴到scrollView下,并在代码中设置scrollView的约束和内容大小。因为我猜你一定已经设置了所有的约束,以及视图中的所有对象。但是,是的,如果您有多个XIB/场景,那么您必须对所有这些场景重复这些步骤。感谢您的帮助,如果这里没有更好的答案,我将收到您的答案。@MellongLau这是一个很好的方法。一旦你做到了这一点,你就不必担心任何其他设备,它总是在iPhone4S到iPhone7+中运行。是的,这需要一点时间。但你可以巧妙地做到这一点。现在全靠你了。您可以得到这一点,它可以帮助您完成任务,但不要忘记嵌入UIView和UIScrollView,正如Mrunal所说的那样。