继承 NSObject
附和 NSAnimatablePropertyContainer
NSObject(NSObject)
框架 /System/Library/Framework/AppKit.framework
有效性 OS X 10.7 或者更高版本
指导手册 Auto Layout Guide
声明 NSLayoutConstraint.h
关联代码 infoBarStackView
综述
一个约束用来定义两个用户界面对象属性之间的关系,使其满足基本约束布局系统的要求。
这个关系包括第一个属性,一个关系类型和一个修改后的第二个值。这个第二个值的形成是通过乘以一个带有常数因子的属性然后加上另一个常数因子。换句话说,约束条件看起来非常像下面的线性方程式:
attribute1 == multiplier × attribute2 + constant
这个方程式可以被理解为一个被修改的属性,这样,这个方程式就可以描述成一句话“属性一必须和被改变的属性二相同”。要注意的是,基本约束布局系统可以随意更改属性在合适的方程式上,约束系统被应用于安排在外部的对象上。
约束不限制平等的关系。他们也可以使用大于等于或是小于等于去描述两个属性之间的关系。约束也有优先顺序,在不一致中有两个或者更多的约束条件的时候,布局系统的约束条件应该被优先。一套约束的组合,在这些约束限制中应该和一组优先级一起应用,可以唯一的描述两个用户界面元素之间的关系在这些元素的所有合法的配置中,允许系统动态的布局用户界面去适配尺寸和界面元素间位置的改变。
任务
创建约束
访问约束数据
priority
property
-
firstItem
property -
firstAttribute
property -
relation
property -
secondItem
property -
secondAttribute
property -
multiplier
property
-
constant
property
属性标识
identifier
property
管理约束归档
shouldBeArchived
property
属性
constant
这个constant参与到约束中是通过添加在被乘以的第二个属性上。
@property CGFloat constant
讨论
不像其他的属性,这个constant可以在约束创建之后修改。在一个现有执行约束上设置约束比移除一个约束然后再添加一个新约束要好得多,在现有约束上修改只是看起来像是一个旧的约束,但实际上会有一个新的约束。
可用性
OS X 10.7 或者更高版本
描述文件在
NSLayoutConstraint.h
firstAttribute
第一个对象的属性参与在约束中。
@property (readonly) NSLayoutAttribute firstAttribute
可用性
OS X 10.7 或者更高版本
描述文件在
NSLayoutConstraint.h
identifer
约束标识的名称
讨论
一个约束的标记是有效的在约束的描述中,标记使用系统中得保留字符“NS”开始。
可用性
OS X 10.9 或者更高版本
描述文件在
NSLayoutConstraint.h
multiplier