使用Xamarin表单复制iOS设置中使用的相同字体? 从我可以看到的IOS中使用的默认字体是旧金山。< /P>

使用Xamarin表单复制iOS设置中使用的相同字体? 从我可以看到的IOS中使用的默认字体是旧金山。< /P>,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我正在为我的应用程序创建一个设置页面,我想使用这种字体。有人能告诉我如何访问并确保我的XF应用程序在iOS中使用这种字体吗?您可以在表单中设置自定义字体 在iOS中 首先,下载字体文件(sanfrancisco.ttf)并放入您的参考资料文件夹中。确保生成类型为BundleResource 除此之外,在iOS上,您必须打开info.plist,并添加要使用的字体的文件名 <key>UIAppFonts</key> <array> <strin


我正在为我的应用程序创建一个设置页面,我想使用这种字体。有人能告诉我如何访问并确保我的XF应用程序在iOS中使用这种字体吗?

您可以在表单中设置自定义字体

在iOS中 首先,下载字体文件(sanfrancisco.ttf)并放入您的参考资料文件夹中。确保生成类型为BundleResource

除此之外,在iOS上,您必须打开info.plist,并添加要使用的字体的文件名

<key>UIAppFonts</key>
<array>
    <string>xxx.ttf</string>
</array>
UIAppFonts
xxx.ttf
###使用自定义字体

现在我们开始实际使用它们。因为引用字体需要每个操作系统使用不同的语法。为了更好地适应这种情况,在应用程序资源中,最好定义字体

对于iOS,我们使用文件的确切名称,不带扩展名(不带.ttf)

在Android中,由于我们没有设置该值,它仍将显示默认字体

<ResourceDictionary>
    <OnPlatform x:TypeArguments="x:String" x:Key="NormalFont">
        <On Platform="iOS" Value="xxx" />  //xxx is San Francisco.ttf file name without .ttf extension
    </OnPlatform>
</ResourceDictionary>

/xxx是没有T.F扩展的旧金山文件名。
然后要使用字体,只需引用键即可

<StackLayout>
    
    <Label Text="Welcome to Xamarin Forms! (San Francisco in iOS)" FontFamily="{StaticResource NormalFont}" />
</StackLayout>

###更新


由于iOS中UIControl的默认字体为Helvetica<代码>旧金山在iOS 9.0之后可用。因此,如果您的应用程序需要支持iOS 8.0及之前的版本,则有必要下载它。在iOS 9.0之后,您不再需要设置字体
San Francisco
是iOS中的默认字体。

因为SF也是一种系统字体,没有下载副本并添加到resources文件夹就无法直接访问它吗?嗨,Lucas,那么我如何为iOS和另一个例如Roboto Regular.ttf#Roboto Regular for Android指定默认字体呢?检查。为什么取消接受答案?它们是不同的问题,你可以创建一个包含更多细节的新线程,这样人们可以更好地帮助你。因为如果它是默认字体,我认为人们下载你答案中建议的字体是不好的。