Анимация представления меню пункта появляется вспышка
флэш-анимация Я установил представление CalendarViewController как menuitem.view, при касании нижней части menuitem.view начнется анимация menuitem.view, но я обнаружил, что анимация мигает. Что я могу сделать, чтобы анимация стала более плавной?
- (IBAction)respondToTapBottomView:(NSButton *)sender {
NSSize size = self.view.frame.size;
NSLog(@"%@", NSStringFromRect(self.view.window.frame));
[NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) {
context.duration = 0.5;
CGFloat height = 10;
if (self.bottomContentHeightConstraint.constant >= 30) {
height = 10;
} else {
height = 97;
}
CGFloat windowHeight = self.calendarView.frame.size.height + height;
self.view.animator.frame = CGRectMake(0, 0, size.width, windowHeight);
self.bottomContentHeightConstraint.animator.constant = height;
} completionHandler:^{
NSLog(@"%@", NSStringFromRect(self.view.window.frame));
}];
}
1 ответ
Я отказался от использования этого метода, наконец, я обхожу проблему, рисуя пользовательский popoverView, а не использую menuItem.view.