带有自定义后退按钮字体的错误大标题动画

Posted

技术标签:

【中文标题】带有自定义后退按钮字体的错误大标题动画【英文标题】:Wrong large title animation with custom back button font 【发布时间】:2018-08-09 12:57:54 【问题描述】:

我只是在导航栏中使用大标题时更改了后退按钮的字体。这很好用,但后来我遇到了一个问题,即小后退按钮文本到上一页大标题的过渡/动画看起来很奇怪。大标题第二次出现,在视图控制器的左上角带有一种淡入效果。那么如何防止这种奇怪的行为呢?

【问题讨论】:

【参考方案1】:

我可以自己解决这个问题,但由于我在网络上找不到类似的主题/问题/解决方案,所以我想分享解决方案,以防万一其他人有一天也遇到同样的问题。

为了解决这个奇怪的行为,我必须为普通的 UIControlState 设置自定义字体,另外为突出显示的字体设置自定义字体

UIBarButtonItem.appearance().setTitleTextAttributes([kCTFontAttributeName as NSAttributedStringKey: UIFont(name: "Futura", size: 17)!], for: .normal)

UIBarButtonItem.appearance().setTitleTextAttributes([kCTFontAttributeName as NSAttributedStringKey: UIFont(name: "Futura", size: 17)!], for: .highlighted)

希望这会有所帮助! :)

【讨论】:

只是想说这救了我几个小时无法弄清楚为什么后面的动画会出现故障。设置 .highlighted 就可以了。谢谢! 没问题,很高兴听到我可以帮助你! :)

以上是关于带有自定义后退按钮字体的错误大标题动画的主要内容,如果未能解决你的问题,请参考以下文章

按下后退按钮时的自定义动画 - iOS

带有自定义后退导航按钮的自定义按钮栏

SwiftUI NavigationBar 后退按钮在使用自定义字体时抱怨图标缩放

带有自定义后退按钮的滑动手势冻结根视图控制器

自定义后退按钮图像在导航栏上不起作用

iPhone - 如何使用我的纹理背景自定义 UINavigationBar 后退按钮