@nativescript/core
Version:
A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.
65 lines • 2.92 kB
JavaScript
import { CORE_ANIMATION_DEFAULTS } from '../../utils/common';
import { Transition } from '.';
export class FadeTransition extends Transition {
iosNavigatedController(navigationController, operation, fromVC, toVC) {
this.transitionController = FadeTransitionController.initWithOwner(new WeakRef(this));
this.presented = toVC;
this.presenting = fromVC;
this.operation = operation;
// console.log('presenting:', this.presenting);
return this.transitionController;
}
}
var FadeTransitionController = /** @class */ (function (_super) {
__extends(FadeTransitionController, _super);
function FadeTransitionController() {
return _super !== null && _super.apply(this, arguments) || this;
}
FadeTransitionController.initWithOwner = function (owner) {
var ctrl = FadeTransitionController.new();
ctrl.owner = owner;
return ctrl;
};
FadeTransitionController.prototype.transitionDuration = function (transitionContext) {
var owner = this.owner.deref();
if (owner) {
return owner.getDuration();
}
return CORE_ANIMATION_DEFAULTS.duration;
};
FadeTransitionController.prototype.animateTransition = function (transitionContext) {
var owner = this.owner.deref();
if (owner) {
// console.log('FadeTransitionController animateTransition:', owner.operation);
var toView_1 = owner.presented.view;
var originalToViewAlpha_1 = toView_1.alpha;
var fromView_1 = owner.presenting.view;
var originalFromViewAlpha_1 = fromView_1.alpha;
toView_1.alpha = 0.0;
fromView_1.alpha = 1.0;
switch (owner.operation) {
case UINavigationControllerOperation.Push:
transitionContext.containerView.insertSubviewAboveSubview(toView_1, fromView_1);
break;
case UINavigationControllerOperation.Pop:
transitionContext.containerView.insertSubviewBelowSubview(toView_1, fromView_1);
break;
}
var duration = owner.getDuration();
var curve_1 = owner.getCurve();
UIView.animateWithDurationAnimationsCompletion(duration, function () {
UIView.setAnimationCurve(curve_1);
toView_1.alpha = 1.0;
fromView_1.alpha = 0.0;
}, function (finished) {
toView_1.alpha = originalToViewAlpha_1;
fromView_1.alpha = originalFromViewAlpha_1;
transitionContext.completeTransition(finished);
});
}
};
FadeTransitionController.ObjCProtocols = [UIViewControllerAnimatedTransitioning];
return FadeTransitionController;
}(NSObject));
export { FadeTransitionController };
//# sourceMappingURL=fade-transition.ios.js.map