2
我有一个CATextLayer,我希望能够在我的视图中垂直对齐。我可以设置一个约束来将它对齐到视图的顶部,中间或底部;但我希望能够让用户即时改变这一点。当我建立了我的CATextLayer,我用这个约束对齐,中间:如何更新CALayer的约束条件?
[textLayer addConstraint: [CAConstraint constraintWithAttribute:kCAConstraintMidY
relativeTo:@"superlayer"
attribute:kCAConstraintMidY]];
这工作得很好,但如果我想更新的层,将其调整到视图顶部我尝试:
[textLayer addConstraint: [CAConstraint constraintWithAttribute:kCAConstraintMaxY
relativeTo:@"superlayer"
attribute:kCAConstraintMaxY]];
当我添加新约束时,它不会与顶部对齐,而是越过视图顶部,您只能看到它的一部分。它看起来像试图应用这两个约束。没有removeConstraint,如果我在我的类上定义一个CAConstraint变量,并且在将它添加到CATextLayer后更新该变量,似乎会发生同样的事情。我是否需要每次都重新创建CATextLayer?