Nativescript 如何在iOS上设置大标题的字体系列?
通过将事件侦听器附加到页面上的Nativescript 如何在iOS上设置大标题的字体系列?,nativescript,nativescript-vue,Nativescript,Nativescript Vue,通过将事件侦听器附加到页面上的加载事件,并获取NativeView对象,我可以将首选目标设置为true: loaded(event){ const page = event.object; if (isIOS) { page.frame.ios.controller.navigationBar.prefersLargeTitles = true; } } 这是可行的,但我想更改大标题的字体系列。如何在Nativescript中执行此操作 尝试将下面的代码添加到你的app.
加载事件
,并获取NativeView对象
,我可以将首选目标设置为true:
loaded(event){
const page = event.object;
if (isIOS) {
page.frame.ios.controller.navigationBar.prefersLargeTitles = true;
}
}
这是可行的,但我想更改大标题的字体系列。如何在Nativescript中执行此操作 尝试将下面的代码添加到你的app.js
import {
isIOS
} from "tns-core-modules/platform";
import {
ActionBar
} from "tns-core-modules/ui/action-bar";
import {
Font
} from "tns-core-modules/ui/styling/font";
if (isIOS) {
ActionBar.prototype.originalSetColor = ActionBar.prototype.setColor;
ActionBar.prototype.setColor = function (navBar, color) {
ActionBar.prototype.originalSetColor.call(this, navBar, color);
var newDict = {
[NSFontAttributeName]: Font
.default
.withFontFamily(
"yourFontFamily")
.withFontSize(yourFontSize)
.getUIFont(UIFont
.systemFontOfSize(20)),
};
if (navBar.largeTitleTextAttributes) {
newDict[NSForegroundColorAttributeName] = navBar.largeTitleTextAttributes.valueForKey(NSForegroundColorAttributeName);
}
navBar.largeTitleTextAttributes = newDict;
};
}
您仍然可以像以前一样设置prefersLargeTitles
标志。您是否尝试过largeTitleTextAttributes
?@Manoj没有,我一直在寻找关于它的文档,但是我找不到一个关于如何在Nativescript中设置它的好例子。尝试.largeTitleTextAttributes={[nsfonttributeName]:Font.default.withFontFamily('fontFamily')。withFontSize(fontSize)。getUIFont(UIFont.systemFontOfSize(10))根据你的建议,我现在尝试了以下操作:navbar.largeTitleTextAttributes={[NSFontAttributeName]:Font.default.withFontFamily('New York')。withFontSize(30)。getUIFont(UIFont.systemFontOfSize(20));不幸的是,没有效果:(