/ / Как да правим анимации в стил UIView при разработване на приложения за какао / Mac - цел-c, какао, анимация, uikit

Как да направите анимирани стил UIView в разработката на приложения за какао / Mac - цел-c, какао, анимация, uikit

Правя преход от програмиране на iPhone към родните Mac приложения. Една част, която ми липсва, е простотата на анимационната система UIView.

Имах следните два метода за подклас UIView:

-(void) hide{
_isHidden=YES;
[UIView commitAnimations];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
self.alpha = 0;
[UIView commitAnimations];
}
-(void) show{
_isHidden=NO;
[UIView commitAnimations];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
self.alpha = 1;
[UIView commitAnimations];
}

Сега не съм сигурен как да постигна това в Какао. Опитах следното, но не съм сигурен, че работи както трябва.

-(void) hide{
[[_myView animator] setAlpha:0];
}

Викам тази функция (скрий) няколко пъти понякога, докато функцията за избледняване все още може да работи.

Отговори:

15 за отговор № 1

Това трябва да доведе до същия резултат като вашия iOS код:

[NSAnimationContext beginGrouping]; {
[[NSAnimationContext currentContext] setDuration:.5];
[[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[_myView.animator setAlphaValue:0.0];
} [NSAnimationContext endGrouping];

Продължителността по подразбиране е .25 секунди. Не съм сигурен каква е функцията за синхронизиране по подразбиране. Ако сте добре с настройките по подразбиране, можете просто да кажете това:

[_myView.animator setAlphaValue:0.0];