问题标签 [ios-autolayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
91602 浏览

ios - How to remove constraints programmatically that is added from storyboard?

I have googled but not find out answer. So I need to ask. I have one home screen. When User is logged in it will display one view as like bellow enter image description here Now When User logged out and visiting home page he will see above layout but without center boxed layout. If I set That layout hidden it is now displaying as follows. enter image description here

I want to move third layout to little bit above to remove white space..

I added constraints using storyboard. Now need to remove constraints from programming and add one constraints that will set layout to bellow first layout..

0 投票
2 回答
259 浏览

ios - 放置 2 个按钮和 1 个文本字段 - 约束是超级视图而不是兄弟姐妹

在 Xcode 6 中,我试图将 2 个按钮和 1 个文本字段放在 1 列中,彼此上方:

Xcode 截图

首先,我选择顶部按钮(“扫描...”)并将其 3 个约束设置为 8 个像素:

Xcode 截图

这很好用。

但是当我对下一个按钮(“连接...”)尝试相同的操作时 - 它的顶部约束与超级视图相关,而不是与另一个按钮相关。

我在 Interface Builder 中搜索,检查约束属性 - 但找不到修复它的地方。

我在哪里可以切换约束 - 如果它与超级视图或兄弟姐妹有关?

0 投票
1 回答
407 浏览

ios - iOS Autolayout如何在superview中拉伸子视图

在此处输入图像描述

正如您在屏幕截图中看到的那样,这里是灰色UIView的,我将其用作容器。在代码中,我分配了一个UINavigationController并将它的视图作为子视图添加到灰色容器视图中。有(您可以UINavigationControllerRootViewController左侧看到截断的表格视图 - 它是我的 UINavigationController 的根视图控制器)。

我的问题是如何将所有方面都固定到超级视图边界。因为现在我只能看到RootViewController视图的一部分。

在情节提要中,我已将所有约束设置为灰色容器视图RootViewControllerUINavigationController. 如果我通常PushViewController不是添加为子视图,它会显示而不会出现中断问题。

这是我的代码UIViewController,其中包含灰色容器视图:

这是灰色容器视图的约束

在此处输入图像描述

这是已切断表的根视图控制器的视图的约束:

在此处输入图像描述

似乎一个简单的解决方案是将UINavigationController视图设置为与灰色容器相同的宽度和高度:

然后它工作正常。但我认为,如果我们不只修改框架,它会起作用吗?

0 投票
2 回答
2101 浏览

uiview - 如何以编程方式使用 AutoLayout 将 UIView 设置为与其 SuperView 相同的宽度?

我有一个简单的 UIView,我想让它的宽度与包含视图的宽度相同。我想以编程方式执行此操作。

我可以在包含视图中添加一个约束,使子视图的宽度等于容器的宽度。C# 是因为我使用的是 Xamarin iOS,但这个 AutoLayout 问题并不特定于此。

然而,从 SubView 中控制它感觉更自然,因为它的视图总是全宽的。我该怎么做?

当我尝试从子视图中创建约束时,我使用 this.SuperView 作为关系,但它不起作用。它抛出以下异常

NSInternalInconsistencyException 原因:意外使用了内部布局属性。

0 投票
0 回答
29 浏览

ios - 图像对齐问题?

我正在尝试将图像放在设备的顶部,这些是我正在应用的约束在此处输入图像描述

我通过应用这个结果得到的结果是

在此处输入图像描述

所以顶部有一些黑色空间,我希望我的图像应该贴在顶部,我想保存图像的纵横比并且不能剪辑它,所以我不能使用纵横比填充。有人可以帮我解决这个问题吗

0 投票
1 回答
553 浏览

ios - NSLayoutAttributeWidth 和 NSLayoutAttributeLeft + NSLayoutAttributeRight 的区别

如果我有 2 个视图 view1 和 view2。假设 view1 在别处设置了它的宽度。我想让 view2 与 view1 的宽度相同

我可以为 view2 创建一个与 view1 相关的LayoutConstraintof NSLayoutAttributeWidth,这应该使 view2 的宽度与 view1 的宽度相同。

或者,我可以LayoutConstraints为 view2 创建两个。一个NSLayoutAttributeLeft与 view1 的左侧相关,另一个NSLayoutAttributeRight与 view1 的右侧相关。由于它们的左右边缘相同,这不是也使 view2 与 view1 的宽度相同吗?

这些匹配宽度的方法是否同样有效?

0 投票
1 回答
314 浏览

ios - 您如何使用 Masonry DSL for Auto Layout 定义视图之间的垂直和水平关系?

使用 Apple 的 Visual Format Language,使用分隔符设置视图与其父视图之间的水平和垂直关系非常简单。

如果我希望下面视觉示例中的 view2 具有固定宽度,而 view1 将填充剩余空间。使用 VFL,我将按如下方式指定此行为:

|-[view1]-[view2(==100)-|

我想用 Masonry 实现的布局的视觉示例

对于 Masonry,如何在视图之间建立这些关系还不是很清楚。view1 不“意识到” view2 并且会低于或重叠它。我错过了什么?

0 投票
1 回答
59 浏览

ios - 为什么我应用自动布局的视图继续放大,而不是在更大的设备模拟器(iPhone 6 及更高版本)上以原始分辨率显示?

我是一名有一点 Obj-C 经验的设计师,试图帮助我们的工程师更新一个相当大的 iOS 应用程序,以编程方式使用自动布局,一次一个视图。

我知道我的约束工作正常,但是当我在模拟器中预览它们时,更新的视图会继续放大以适应更大屏幕的设备(iPhone 6 及更高版本)。理想情况下,我希望看到以设备的原始分辨率显示自动布局的视图,并且未更新的基于框架的视图继续缩放。

是否需要在某个地方或根视图全局启用自动布局,是否有推荐的方法来转换为自动布局,这将使更新易于在更大的设备模拟器上以本机资源预览?

0 投票
2 回答
102 浏览

ios - UITableView 中的自动布局约束问题

在我的帮助下,Auto Layout我以编程方式实现了视图,以处理 iPhone 4、5 和 6 的不同设计布局。该程序在除UITableView. 我在控制台中遇到以下约束问题。

我尝试了几个帖子,但未能摆脱限制。有人可以对此提出建议吗?

更新代码

0 投票
2 回答
178 浏览

ios - 无法使用 Motion-Kit gem 在 RubyMotion 中取消设置布局约束

我有以下情况。在一种情况下,我需要在视图的左侧布局一个元素,在另一种情况下,需要在视图的右侧呈现相同的视图。这两个约束显然是冲突的。

Left并且Right相互矛盾,我没有得到想要的结果。有什么方法可以禁用例如仅left约束或禁用/取消设置所有约束?