Reputation: 9386
I'm getting a really long (about 6 seconds) delay between when I call transitionWithView
and when the animation actually starts on the screen. Is it because I am calling transitionWithView
from a handler or something?
- (IBAction)saveToCal:(id)sender{
LBWrapperView *wrapper = (LBWrapperView*)self.parentViewController;
EKEventStore *store = [EKEventStore new];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (!granted) { return; }
EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = wrapper.lunch.title;
...
event.calendar = [store defaultCalendarForNewEvents];
NSError *err = nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
if (!err){
[UIView transitionWithView:self.addToCalendarBtn duration:1.0 options:UIViewAnimationOptionCurveLinear animations:^{
self.addToCalendarBtn.alpha = 0.0;
} completion:nil];
}
}];
}
Edit: I also have the same problem when calling:
[UIView animateWithDuration:1.0 animations:^{
self.addToCalendarBtn.alpha = 0.0;
}];
Upvotes: 0
Views: 412
Reputation: 1161
Are you sure you're running under main thread? Using other threads also make User interface manipulation laggy.
You can use below code to changing you're UI manipulation to main thread:
dispatch_async(dispatch_get_main_queue(), ^{
[UIView transitionWithView:self.addToCalendarBtn duration:1.0 options:UIViewAnimationOptionCurveLinear animations:^{
self.addToCalendarBtn.alpha = 0.0;
} completion:nil];
});
Upvotes: 1