mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
feat(ios): add setupRootViewCssClasses function
This commit is contained in:
@@ -286,6 +286,8 @@ class IOSApplication implements IOSApplicationDefinition {
|
||||
if (!haveController) {
|
||||
this._window.makeKeyAndVisible();
|
||||
}
|
||||
|
||||
setupRootViewCssClasses(controller, rootView);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,13 +318,6 @@ function createRootView(v?: View) {
|
||||
}
|
||||
}
|
||||
|
||||
resetRootViewCssClasses();
|
||||
|
||||
const deviceType = device.deviceType.toLowerCase();
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${IOS_PLATFORM}`);
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${deviceType}`);
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${iosApp.orientation}`);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@@ -362,6 +357,8 @@ export function _start(entry?: string | NavigationEntry) {
|
||||
let visibleVC = getVisibleViewController(rootController);
|
||||
visibleVC.presentViewControllerAnimatedCompletion(controller, true, null);
|
||||
}
|
||||
|
||||
setupRootViewCssClasses(controller, rootView);
|
||||
iosApp.notifyAppStarted();
|
||||
}
|
||||
}
|
||||
@@ -413,14 +410,6 @@ function getViewController(rootView: View): UIViewController {
|
||||
rootView.viewController = viewController;
|
||||
}
|
||||
|
||||
const userInterfaceStyle = viewController.traitCollection.userInterfaceStyle;
|
||||
const userInterfaceStyleValue = getUserInterfaceStyleValue(userInterfaceStyle);
|
||||
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${userInterfaceStyleValue}`);
|
||||
|
||||
const rootViewCssClasses = getRootViewCssClasses();
|
||||
rootViewCssClasses.forEach(c => rootView.cssClasses.add(c));
|
||||
|
||||
return viewController;
|
||||
}
|
||||
|
||||
@@ -437,6 +426,22 @@ function setViewControllerView(view: View): void {
|
||||
}
|
||||
}
|
||||
|
||||
function setupRootViewCssClasses(controller: UIViewController, rootView: View): void {
|
||||
resetRootViewCssClasses();
|
||||
|
||||
const deviceType = device.deviceType.toLowerCase();
|
||||
const userInterfaceStyle = controller.traitCollection.userInterfaceStyle;
|
||||
const userInterfaceStyleValue = getUserInterfaceStyleValue(userInterfaceStyle);
|
||||
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${IOS_PLATFORM}`);
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${deviceType}`);
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${iosApp.orientation}`);
|
||||
pushToRootViewCssClasses(`${CLASS_PREFIX}${userInterfaceStyleValue}`);
|
||||
|
||||
const rootViewCssClasses = getRootViewCssClasses();
|
||||
rootViewCssClasses.forEach(c => rootView.cssClasses.add(c));
|
||||
}
|
||||
|
||||
export function orientation(): "portrait" | "landscape" | "unknown" {
|
||||
return iosApp.orientation;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user