mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(ios-frame): tearDownUI and reset UINavigationController
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import {EventData as ObservableEventData } from "tns-core-modules/data/observable";
|
||||
import { EventData as ObservableEventData } from "tns-core-modules/data/observable";
|
||||
|
||||
export function navigatedTo(args: ObservableEventData) {
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {EventData as ObservableEventData } from "tns-core-modules/data/observable";
|
||||
import { EventData as ObservableEventData } from "tns-core-modules/data/observable";
|
||||
import { Page } from "tns-core-modules/ui/page";
|
||||
import {ItemEventData as ListViewItemEventData } from "tns-core-modules/ui/list-view";
|
||||
import {topmost as topmostFrame } from "tns-core-modules/ui/frame";
|
||||
import { ItemEventData as ListViewItemEventData } from "tns-core-modules/ui/list-view";
|
||||
import { topmost as topmostFrame } from "tns-core-modules/ui/frame";
|
||||
import { AppViewModel } from "./reddit-app-view-model";
|
||||
|
||||
var appViewModel = new AppViewModel();
|
||||
|
||||
@@ -33,6 +33,12 @@ export class Frame extends FrameBase {
|
||||
this.nativeViewProtected = this._ios.controller.view;
|
||||
}
|
||||
|
||||
public disposeNativeView() {
|
||||
this._ios.controller = null;
|
||||
this.viewController = null;
|
||||
super.disposeNativeView();
|
||||
}
|
||||
|
||||
public get ios(): iOSFrame {
|
||||
return this._ios;
|
||||
}
|
||||
@@ -373,6 +379,7 @@ class UINavigationControllerImpl extends UINavigationController {
|
||||
const owner = this._owner.get();
|
||||
if (owner && owner.isLoaded && !owner.parent && !this.presentedViewController) {
|
||||
owner.callUnloaded();
|
||||
owner._tearDownUI(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -580,6 +587,10 @@ class iOSFrame implements iOSFrameDefinition {
|
||||
return this._controller;
|
||||
}
|
||||
|
||||
public set controller(value: UINavigationControllerImpl) {
|
||||
this._controller = value;
|
||||
}
|
||||
|
||||
public get showNavigationBar(): boolean {
|
||||
return this._showNavigationBar;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user