iOS - 故事板 - 使用自动布局修改超出框架的 UIView
Posted
技术标签:
【中文标题】iOS - 故事板 - 使用自动布局修改超出框架的 UIView【英文标题】:iOS - Storyboard - modify UIView that is out of frame with autolayout 【发布时间】:2015-12-04 11:19:02 【问题描述】:这是一个相当愚蠢的问题,但我们开始吧: 我现在正在使用 Autolayout 创建一个 UIScrollview,其中包含我正在滚动的 3 个不同的 UIView。我都使用 Storyboard 创建了它,它运行良好——第一个视图位于框架的中间,另外两个视图水平地位于框架之外。当我在模拟器中滚动时,它可以完美运行。 我所有的框架都与主 Superview 的宽度成比例,这意味着它们占据了整个屏幕的空间。
我的问题是我无法访问其他两个视图以通过情节提要向它们添加元素,因为它们不在框架中——即使我更改了 ViewController 的大小,所有视图都会变大,因为它们的大小与主视图的大小成正比。
我想在我的第二个 UIView 的右侧添加元素(第三个更靠右),但如果它不在 ViewController 的框架上,则不能拖放 n 个对象。
我怎样才能在不搞乱所有约束的情况下解决这个问题?
非常感谢!
【问题讨论】:
“即使我改变了 ViewController 的大小,所有的 View 也会变大,因为它们的大小与主视图的大小成正比”但你可以关闭该行为。 你的意思是删除约束? 为该视图创建一个 xib 并在其中进行任何您想要的更改。只需在情节提要中使用该视图即可。 【参考方案1】:解决此问题的一种方法是转到您的情节提要 -> 选择您的 firstView -> 查看约束并编辑屏幕宽度的“Leading Constraint to Superview”约束负倍数,例如 -320、-640。然后它将分别显示第二个和第三个视图。
图片附在下面。
注意:完成编辑后,您需要记住将其设置回 0。
【讨论】:
这很完美!绝对出色的解决方案。【参考方案2】:您可以将新视图拖入左侧显示的视图层次结构中,并使用它来选择任何项目以对其进行编辑、添加约束等。
【讨论】:
以上是关于iOS - 故事板 - 使用自动布局修改超出框架的 UIView的主要内容,如果未能解决你的问题,请参考以下文章
我应该在 Xcode 6 中使用自动布局还是更喜欢为所有 iOS 设备使用单独的故事板
iOS 自动布局:如何在 Xcode 故事板中为 iPad 横向和 iPad 纵向设计不同的布局?