/ / Як зробити анімацію стилю UIView в розробці додатків для Cocoa / Mac - objective-c, какао, анімація, uikit

Як зробити анімацію стилю UIView у розробці додатків Cocoa / Mac - objective-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];

Тривалість за замовчуванням становить 0,25 секунди. Я не знаю, якою є функція синхронізації по замовчуванню. Якщо ви занадто добре за замовчуванням, ви можете просто сказати так:

[_myView.animator setAlphaValue:0.0];