我在我使用外观API设置的应用中使用 Avenir Next 字体(由iOS提供)。我希望我的LaunchScreen.xib也能使用它,以便从启动屏幕到初始视图控制器的转换顺利。
我能够在Interface Builder中使用 Avenir Next 作为导航栏,但我找不到在UIToolbar中为UIBarButtonItem设置字体的方法。 Avenir Next 字体在启动屏幕时间内正确显示在导航栏中。
由于我需要它用于启动屏幕,我显然无法通过编程方式设置字体来解决此问题,必须在Interface Builder中完成。
有没有办法实现这一点,可能是通过手动编辑LaunchScreen.xib文件?
答案 0 :(得分:5)
您可以将UIBarButtonItem
与自定义视图一起使用。只需将视图/按钮拖放到工具栏,就可以在storyboard / xib中执行此操作,它将使用嵌套视图创建UIBarButtonItem
。
代码如下所示:
<barButtonItem style="plain" id="AwC-sg-sT1">
<view key="customView" contentMode="scaleToFill" id="4Z4-cp-rPM">
<rect key="frame" x="0.0" y="0.0" width="320" height="33"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</barButtonItem>
答案 1 :(得分:-4)
最初的想法是将UIBarButton项子类化。使用IBInspectable覆盖font属性并将其设置为默认的Avenir Next字体。但我目前无法测试,所以我不知道这是否能正常工作。
答案 2 :(得分:-4)
直接参与我的一个项目:
[[UIBarButtonItem appearanceWhenContainedIn: [UINavigationBar class], nil]
setTitleTextAttributes:@{
NSFontAttributeName: [UIFont fontWithName:@"YOUR FONT" size:21.f],
NSForegroundColorAttributeName: [UIColor whiteColor]
} forState:UIControlStateNormal];