を使用して Mac アプリで制約の変更をアニメーション化しようとしていますが、ブロックNSAnimationContext runAnimationGroup...
内に埋め込んだ場合にのみアニメーションが正常に機能します。dispatch_after
結果として、私はこのコードを持っています:
__weak typeof(self) weakSelf = self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[weakSelf layoutSubtreeIfNeeded];
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
__strong typeof(weakSelf) strongSelf = weakSelf;
context.duration = animated ? 0.3 : 0.;
context.allowsImplicitAnimation = YES;
strongSelf.expanded = NO;
strongSelf.collapsingConstraint.priority = 900;
[strongSelf layoutSubtreeIfNeeded];
} completionHandler:^{
}];
});
私は何を間違っていますか?前もって感謝します!