fix(ios): actionBar title to use appearance api on ios15+ (#9534)

https://github.com/NativeScript/NativeScript/pull/9530
This commit is contained in:
Nathan Walker
2021-09-03 14:00:38 -07:00
parent 8da66ce5d2
commit 4edeb19bfe

View File

@ -357,13 +357,19 @@ export class ActionBar extends ActionBarBase {
return; return;
} }
if (color) { if (color) {
navBar.titleTextAttributes = <any>{ if (majorVersion >= 15) {
[NSForegroundColorAttributeName]: color.ios, const appearance = navBar.standardAppearance ?? UINavigationBarAppearance.new();
}; appearance.titleTextAttributes = NSDictionary.dictionaryWithObjectForKey(color.ios, NSForegroundColorAttributeName);
navBar.largeTitleTextAttributes = <any>{ } else {
[NSForegroundColorAttributeName]: color.ios, // legacy styling
}; navBar.titleTextAttributes = <any>{
navBar.tintColor = color.ios; [NSForegroundColorAttributeName]: color.ios,
};
navBar.largeTitleTextAttributes = <any>{
[NSForegroundColorAttributeName]: color.ios,
};
navBar.tintColor = color.ios;
}
} else { } else {
navBar.titleTextAttributes = null; navBar.titleTextAttributes = null;
navBar.largeTitleTextAttributes = null; navBar.largeTitleTextAttributes = null;
@ -377,7 +383,7 @@ export class ActionBar extends ActionBarBase {
} }
const color_ = color instanceof Color ? color.ios : color; const color_ = color instanceof Color ? color.ios : color;
if (majorVersion >= 13) { if (majorVersion >= 15) {
const appearance = navBar.standardAppearance ?? UINavigationBarAppearance.new(); const appearance = navBar.standardAppearance ?? UINavigationBarAppearance.new();
// appearance.configureWithOpaqueBackground(); // appearance.configureWithOpaqueBackground();
appearance.backgroundColor = color_; appearance.backgroundColor = color_;