0

[macOS | OS X] 没有效果的砌体视图动画

  • [✔️] 我看过文档
  • [✔️] 我已经填写了这个问题模板。

问题信息

  • 平台:os x
  • 平台版本:10.12.6
  • 砌体版本:1.1.0

问题描述

我在 os x 应用程序项目中使用砌体自动布局,我发现视图中的移动动画没有效果。也就是说视图直接移动到目标位置,没有动画过程。

我的代码如下:

[NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) {
    [context setDuration:0.5];
    context.allowsImplicitAnimation = YES;
    [_playlistView mas_updateConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.mas_right).with.offset(-kPlaylistBuoyBtnW-kPlaylistMainViewW);
    }];
} completionHandler:^{
    debugMethod();
}];

如何实施?最好使用示例代码。

欣赏是否有任何建议或想法。

4

1 回答 1

0

首先,在视图的界面中声明一个属性。

@property (nonatomic, strong) MASConstraint *leftConstraint;

其次,使用这个属性来做动画。

[NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) {
    [context setDuration:kPlaylistPopAnimationTimes];
    context.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    _playlistView.leftConstraint.animator.offset(-kPlaylistBuoyBtnW-kPlaylistMainViewW);
} completionHandler:^{
    [_playlistView updateBuoyBtnState:state];
}];

最后,动画的其他方向也是一样的。

于 2017-11-13T09:00:12.473 回答