在 UIView 中查找特定约束时,您有什么建议?
What do you recommend to find a particular constraint in a UIView?
我想知道如果你给一个视图添加了一个约束并且没有保留约束指针,你以后如何在视图中找到那个特定的约束?
我试过这个来制作视图动画。我想我可以遍历视图中的所有约束并在列表中找到特定的约束。
但是,事实并非如此。有很多限制。
我的印象是找到一个几乎是不可能的,除非我有那个约束的指针以便我可以匹配它们。
所以,我想知道这是否是找到约束的最佳方法。
还有,这是另一个问题。
以前我直接访问转换值来更改动画的帧矩形。但是,'with' 约束我无法直接访问框架矩形,而是通过提供适当的约束来更改它。有什么方法可以使用带约束的变换值吗?
将标识符设置为约束条件
myConstraint.identifier = "<MyIdentifierText>";
使用标识符获取约束:
NSArray *constraints = [myView constraints];
for (int index = 0; index < [constraints count]; index ++)
{
NSLayoutConstraint *constraint = constraints[index];
if ( [constraint.identifier isEqualToString:@"<MyIdentifierText>"] ) {
// save the reference to constraint
// or do the necessary operations
break;
}
index++;
}
希望对您有所帮助。
我想知道如果你给一个视图添加了一个约束并且没有保留约束指针,你以后如何在视图中找到那个特定的约束?
我试过这个来制作视图动画。我想我可以遍历视图中的所有约束并在列表中找到特定的约束。 但是,事实并非如此。有很多限制。
我的印象是找到一个几乎是不可能的,除非我有那个约束的指针以便我可以匹配它们。
所以,我想知道这是否是找到约束的最佳方法。
还有,这是另一个问题。 以前我直接访问转换值来更改动画的帧矩形。但是,'with' 约束我无法直接访问框架矩形,而是通过提供适当的约束来更改它。有什么方法可以使用带约束的变换值吗?
将标识符设置为约束条件
myConstraint.identifier = "<MyIdentifierText>";
使用标识符获取约束:
NSArray *constraints = [myView constraints];
for (int index = 0; index < [constraints count]; index ++)
{
NSLayoutConstraint *constraint = constraints[index];
if ( [constraint.identifier isEqualToString:@"<MyIdentifierText>"] ) {
// save the reference to constraint
// or do the necessary operations
break;
}
index++;
}
希望对您有所帮助。