Tag: Ios约束

使用IOS动画中的约束…

在制作子视图动画时,通常使用该子视图的约束来更改其位置或值。 基本上,“动画”定义为值或位置的变化。 IOS中的每个视图都包含一个称为“ constraints ”的属性,该属性仅是get,它给出了该视图所持有的所有约束。约束由最近的视图持有,该视图包含约束中的两个项目。 子视图之间/之间连接的约束通常由其超级视图持有。 视图所包含的所有约束均在大小检查器中列出。 子视图与其父视图之间的约束由其父视图保持。 因此,在使用约束进行动画处理时,首先我们需要找到哪种视图持有我们要设置动画的约束。 对于动画,意味着更改约束或其乘数/常量值,首先我们需要获取所有现有约束。 通过依赖约束,选择包含所需约束的视图。 要获取约束,我们可以使用仅获取属性“ constraints”,它提供了一系列约束。 为了获得每个约束,我们可以遍历结果数组。 注意:像“约束”属性一样,乘数也是“仅获取”值。 就像我们为现有约束更改常量值一样,我们无法更改乘数值。 因此,要更改乘数值,我们需要访问该约束,使其为“ .active = false”。 通过将其激活设置为false,在下一个布局更新中,自动布局引擎将删除该约束。 因此,在定义新约束之后,将其设置为“ .active = true”。 2.我们可以在定义约束的同时为约束赋予标识符。 稍后,我们可以使用“ constraints”属性来获取约束,然后可以通过使用其标识符值来访问所需的约束。 3.我们还可以定义两个具有两个不同值,具有不同标识符和优先级的约束。 但是在任何给定时间都应该只有一个处于活动状态。 因此,从已定义的这两个约束中,将其卸载。 然后,您可以根据需要通过访问这些变量来随时激活一个。

IOS中的自动布局

自动布局是基于约束的布局系统。 它允许开发人员创建一个自适应UI,以对屏幕尺寸和设备方向的变化做出适当的响应。 在Interface-Builder中,我们使用Pins,Aligns,Resolvers和Stack…,它们位于屏幕底部的源代码编辑器下方。 堆 对齐 销 解析器 销钉-→选择场景中的一个对象,然后描述离它最近的邻居对象有多远。 您可以在图钉按钮上找到所有图钉约束。在提供约束时,您可以从下拉菜单中更改相对视图。 对齐—→选择两个视图/对象并设置它们之间的关系。 通常对齐到公共边缘或中心 解析器—→如果我们不立即更新框架,则可以在解析器中更新它们。 这两个部分看起来相似,但顶部仅适用于选定的视图,底部适用于所有视图。 堆栈—将视图嵌入堆栈视图。 自Xcode 7以来,堆栈视图是一项新功能。 约束错误 所有约束错误均以警告开头,但在运行时它们将成为致命错误。 我们必须解决这些错误,然后再致死。 3种错误 → 错放的视图 具有正确的约束条件,但在运行时位置不正确。 如果选中该选项,则会显示绿色虚线/矩形,以显示正确的位置。这些线上的数字显示正确位置的距离/距离。要解决此问题,请使用“ Pin&Align”菜单中的“ Update Frames”。 2.缺少约束和 也称为“模糊约束”。 所有视图都需要足够的信息来确定视图的位置和大小。 如果缺少约束,则框架颜色将变为“红色”。要解决此问题,请在特定视图中添加“缺少约束”。 3.冲突约束 这是最困难的:约束太多。 显示为红色。 解决方法:删除约束,直到仅剩一个约束为止。