如何在Xcode中成功使用AutoLayout和Constraints?

时间:2014-08-20 06:42:11

标签: ios xcode ios7

如果不需要代表发布图片,这将很难......但是......

我目前在Xcode中有一个故事板布局。

我有一个UIViewController,分为两部分,上部UIView和下部UITableView(现在,我们可以忽略这一点,但同样的问题适用于表视图,建议也很感激)

在UIView中,我有一个ProgressView,它跨越UIView的整个宽度,并且被捕捉到距视图边缘的填充距离。 ProgressView设置为50%,并且位于故事板设计器的布局中间。

模拟此时,进度条似乎位于90%以上。问题是,当进度条缩小(或在故事板布局编辑器中更改宽度)到大约一半的可见布局时,进度条会占用大多数'模拟屏幕,并正确显示50%的进度。

我假设这与AutoLayout或Size Classes有关。我想正确地学习这种自动布局和约束的使用 - 因此,禁用其中任何一种都是不可接受的。建议的约束不会返回我预期的结果。

编辑:我已经找到了似乎令人满意的工作,请参阅给出的答案。但仍然希望看到一些实际的布局建议。

编辑:将相同的原理应用于UIViewController下半部分的UITableView,它还修复了分隔符插入的问题。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案。

在情节提要编辑器中,打开文档大纲。 按住右键并选择ProgressView并拖动到Parent UIView,释放并选择:

  • 领先的容器空间
  • 到容器的尾随空间
  • 在容器中水平居中

(在这里完成仍有问题,因为UIView超出了其父级的宽度......所以对UIView也一样)

在文档大纲中,右键单击UIView并拖动到父视图,释放并选择:   - 领先的集装箱空间   - 到容器的尾随空间

现在,我有一个完美居中的ProgressView,它位于两个边缘和“填充”之间。在任何一端。究竟是什么需要。

这个问题似乎涉及利用嵌套的UIViews。

相关问题