Joh*_*uer 6 core-animation osx-mountain-lion autolayout nslayoutconstraint
我有一个NSButton的底部与它的超级视图齐平,我想动画它向上移动,以便它的顶部与它的superview相同.
WWDC 2012会议228:掌握自动布局的最佳实践提到了两种动画布局更改动画(31:16),我正在尝试使用CoreAnimation技术.下面的例子确实正确地移动了NSButton,但是它瞬间完成并且没有动画.
[button.superview removeConstraint:pointerToBottomSpaceConstraint] ;
NSArray* topSpaceConstraintArray = [NSLayoutConstraint constraintsWithVisualFormat: @"V:|[button]"
options: 0
metrics: nil
views: NSDictionaryOfVariableBindings(button)] ;
[button.superview addConstraints:topSpaceConstraintArray] ;
[NSAnimationContext runAnimationGroup:^(NSAnimationContext* context) {
context.duration = 2 ;
context.allowsImplicitAnimation = YES ;
[button.superview layoutSubtreeIfNeeded] ;
} completionHandler:nil] ;
Run Code Online (Sandbox Code Playgroud)
我可以添加和删除NSLayoutConstraints并让CoreAnimation弄清楚如何为更改设置动画吗?这似乎比我确定按钮的旧位置和新位置之间的距离,然后将NSLayoutConstraint的常量调整为该量更简单.
| 归档时间: |
|
| 查看次数: |
2523 次 |
| 最近记录: |