【问题标题】:Change view sizes inside UIScrollView using Autolayout使用自动布局更改 UIScrollView 内的视图大小
【发布时间】:2015-01-07 16:29:33
【问题描述】:

我正在尝试创建一个基于按钮网格的 3x3 菜单,但在尝试使其适应不同的屏幕尺寸时遇到了很多问题。

由于我希望我的菜单在屏幕上等距分布(使用 Storyboard 上的自动布局技巧),我创建了一个带有此菜单的自定义类,并将其添加到主控制器视图的中心部分。问题是菜单不适合小屏幕(3,5" 屏幕)。

为了解决这个问题,我在主屏幕创建了一个scrollView来添加菜单,并且能够在小屏幕中滚动。

问题是,由于我在滚动视图中加载的视图自动适应容器的大小(在本例中为 UIScrollView),因此只有一小部分菜单出现在 3,5" 屏幕中, 没有滚动选项(在更大的视图中,它的间距相等,一切都正确显示)。

如何解决这个 UIScrollView 问题?或者这个问题有更好的解决方案?

p.s:对不起,我没有足够的声誉来添加图片:(

【问题讨论】:

  • 我认为这更多的是您设置的约束的问题。如果您正确添加了内部元素的约束,滚动视图将计算其所有内部视图尺寸并调整其大小以启用或禁用滚动。检查所有内部视图约束。确保在启动应用后在 xcode 故事板和控制台中显示没有问题。
  • 我正确设置了约束,但我没有正确设置内容大小。

标签: ios objective-c uiscrollview autolayout


【解决方案1】:

带有自动布局的 UIscrollview 有点麻烦。 您需要放置您的内部视图,以便滚动视图能够理解它应该使用的内容大小。

您可以在此处找到更多详细信息 http://infinite-edward.tumblr.com/post/66865604683/uiscrollview-contentsize-and-autolayout-gotcha

【讨论】:

  • 关键是显式设置scrollview的内容大小。谢谢!
猜你喜欢
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
相关资源
最近更新 更多