OS X 砌体视图动画无效



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

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

问题信息

  • 平台: 操作系统 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();
}];

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

如果有任何建议或想法,请不胜感激。

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

@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];
}];

最后,动画的其他方向是相同的。

最新更新