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))