OS X Masonry просмотр анимации без эффекта
[macOS | OS X] масонство просмотра анимации без эффекта
- [✔️] Я посмотрел на документацию
- [✔️] Я заполнил этот шаблон выпуска.
Информация о выпуске
- Платформа: OS X
- Версия платформы: 10.12.6
- Кладка Версия: 1.1.0
Описание проблемы
Я использую AutoLayout кладки в проекте приложения 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();
}];
Как реализовать? Лучше всего использовать пример кода.
Ценю, если какие-либо предложения или идеи.
1 ответ
Сначала объявите свойство в интерфейсе представления.
@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];
}];
Наконец, другое направление анимации остается прежним.