⚡ Empowering JavaScript with native platform APIs. ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java). Use what you love ❤️ Angular, Capacitor, Ionic, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Dart (Flutter) and you name it compatible.
MIT License
Bot releases are hidden (Show)
Published by NathanWalker 6 months ago
Published by NathanWalker 7 months ago
buildPath
support (#10477) (4293284)Published by NathanWalker 10 months ago
Published by NathanWalker 12 months ago
Published by NathanWalker about 1 year ago
Utils.dismissKeyboard()
not working with modal (#10375) (6d44c2d)Published by rigor789 about 1 year ago
Published by NathanWalker about 1 year ago
Published by NathanWalker over 1 year ago
Published by NathanWalker over 1 year ago
Published by NathanWalker over 1 year ago
Published by NathanWalker over 1 year ago
once
(#10307) (e430555)Published by NathanWalker over 1 year ago
Most projects will be unaffected by these but in an effort to be clear as possible, we will note the following:
Potential issue:
error TS2339: Property 'newValue' does not exist on type 'EventData'.
2611 if (e.newValue) {
Possible causes:
Application.on(Application.orientationChangedEvent, (event) => {
Solution:
Application.on(Application.orientationChangedEvent, (event: OrientationChangedEventData) => {
This means that potentially if you were using margins to position, for example on font icon labels, they may appear mis-positioned intially after updating. You should be able to remove custom margin handling to simplify.
Transition
class:animateIOSTransition(containerView: UIView, fromView: UIView, toView: UIView, operation: UINavigationControllerOperation, completion: (finished: boolean) => void): void {
toView.transform = CGAffineTransformMakeScale(0, 0);
fromView.transform = CGAffineTransformIdentity;
switch (operation) {
case UINavigationControllerOperation.Push:
containerView.insertSubviewAboveSubview(toView, fromView);
break;
case UINavigationControllerOperation.Pop:
containerView.insertSubviewBelowSubview(toView, fromView);
break;
}
var duration = this.getDuration();
var curve = this.getCurve();
UIView.animateWithDurationAnimationsCompletion(
duration,
() => {
UIView.setAnimationCurve(curve);
toView.transform = CGAffineTransformIdentity;
fromView.transform = CGAffineTransformMakeScale(0, 0);
},
completion
);
}
animateIOSTransition(transitionContext: UIViewControllerContextTransitioning, fromViewCtrl: UIViewController, toViewCtrl: UIViewController, operation: UINavigationControllerOperation): void {
const toView = toViewCtrl.view;
const fromView = fromViewCtrl.view;
toView.transform = CGAffineTransformMakeScale(0, 0);
fromView.transform = CGAffineTransformIdentity;
switch (operation) {
case UINavigationControllerOperation.Push:
transitionContext.containerView.insertSubviewAboveSubview(toView, fromView);
break;
case UINavigationControllerOperation.Pop:
transitionContext.containerView.insertSubviewBelowSubview(toView, fromView);
break;
}
var duration = this.getDuration();
var curve = this.getCurve();
UIView.animateWithDurationAnimationsCompletion(
duration,
() => {
UIView.setAnimationCurve(curve);
toView.transform = CGAffineTransformIdentity;
fromView.transform = CGAffineTransformMakeScale(0, 0);
},
(finished) => {
transitionContext.completeTransition(finished);
}
);
}
deref
instead of the deprecated get
API. In 8.4, iOS allowed usage of deref
but Android still required get
. With 8.5 you can now use deref
the same everywhere.Incorrect:
// collection: NSArray
for (var i = 0; i < collection.count; i++) {
const obj = collection[i];
Correct:
// collection: NSArray
for (var i = 0; i < collection.count; i++) {
const obj = collection.objectAtIndex(i);
Published by rigor789 over 1 year ago
feat(webpack): support tsconfig.app.json when present (https://github.com/NativeScript/NativeScript/commit/ebb827fb8e4cf2ebc82ca66bea386ddc654711f7)
fix(webpack): notify CLI even if there are compilation errors (https://github.com/NativeScript/NativeScript/commit/605998455595a2d35b7f0f73b2cde08c0516361c)
Published by NathanWalker over 1 year ago
Published by NathanWalker almost 2 years ago