Probably it is just a question of proper syntax.
I use the animateWithDuration:delay:options:animations:completion:
UIView method.
The options:
is the problematic part here: when I assign only one option (for example UIViewAnimationOptionCurveEaseInOut) everything works fine.
What if I want to assign multiple options to the same animation? How can I do that?
I have tried the following code, but the options:
part turned out to be completely ignored:
> [UIView animateWithDuration:DURATION > delay:DELAY > options:(UIViewAnimationOptionAllowUserInteraction, > UIViewAnimationOptionCurveEaseInOut) > animations: ^{/*animations here*/} > completion: ^(BOOL finished){/*actions on complete*/}];
It was just a try and it didn't work. Which syntax should I use here?
Thanks for any help in advance.
You don't need to use [weak self] in static function UIView. animate() You need to use weak when retain cycle is possible and animations block is not retained by self.
The contents of your block are performed on the main thread regardless of where you call [UIView animateWithDuration:animations:] . It's best to let the OS run your animations; the animation thread does not block the main thread -- only the animation block itself.
UIView. animate runs on the main thread and is asynchronous.
Objective-C
options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseInOut)
Swift
In Swift UIViewAnimationOptions is an Option set type and multiple options can be passed following way:
options:[.AllowUserInteraction, .CurveEaseInOut]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With