iOS: 后退按钮标签被自定义字体截断
iOS: Back button label is cut off with custom font
我正在为导航项使用自定义字体;当我转到另一个视图控制器时,新呈现的视图控制器上的后退按钮在左侧被切断。在执行 segue 之前,我在第一个视图控制器上尝试了 setTitlePositionAdjustment(_ adjustment: UIOffset, for barMetrics: UIBarMetrics)
但它没有取代按钮:
和
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Show Contents" {
if let viewController = segue.destination as? ContentsTableViewController {
viewController.navigationItem.backBarButtonItem?.setTitlePositionAdjustment(UIOffsetMake(10, 0), for: .default)
}
}
}
使用此代码:
override func viewDidLoad() {
super.viewDidLoad()
let backBarButtonItem = UIBarButtonItem(title: "خانه", style: .plain, target: nil, action: nil)
backBarButtonItem.setTitleTextAttributes([.font : UIFont(name: "B Koodak", size: 32)!], for: .normal)
navigationItem.backBarButtonItem = backBarButtonItem
}
我得到以下信息:
我在使用自定义字体时遇到了这个问题,我在 parent 视图中隐藏导航栏并在 child 视图(在 viewWillAppear(_:)
中)中显示它。弄清楚此操作中的某些内容导致按钮标签绘制得太窄,我尝试在 [=23] 中调用导航栏上的各种 UIKit
重绘方法(setNeedsLayout()
& setNeedsDisplay()
=] 查看控制器的 viewDidLoad()
方法,但无济于事。正如 OP 所写,我能够通过缩小字体大小来正确绘制标签。
我最终能够通过手动将 backBarButtonItem
属性 设置为 UIBarButtonItem
的新实例,以正确的大小正确绘制 "Back"
作为标题(在我的 parent 视图控制器中)。这可能就是它在已接受的答案中起作用的原因。这似乎是 UIKit
中的错误,因为我不认为隐藏和显示导航栏会导致此行为。
我正在为导航项使用自定义字体;当我转到另一个视图控制器时,新呈现的视图控制器上的后退按钮在左侧被切断。在执行 segue 之前,我在第一个视图控制器上尝试了 setTitlePositionAdjustment(_ adjustment: UIOffset, for barMetrics: UIBarMetrics)
但它没有取代按钮:
和
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Show Contents" {
if let viewController = segue.destination as? ContentsTableViewController {
viewController.navigationItem.backBarButtonItem?.setTitlePositionAdjustment(UIOffsetMake(10, 0), for: .default)
}
}
}
使用此代码:
override func viewDidLoad() {
super.viewDidLoad()
let backBarButtonItem = UIBarButtonItem(title: "خانه", style: .plain, target: nil, action: nil)
backBarButtonItem.setTitleTextAttributes([.font : UIFont(name: "B Koodak", size: 32)!], for: .normal)
navigationItem.backBarButtonItem = backBarButtonItem
}
我得到以下信息:
我在使用自定义字体时遇到了这个问题,我在 parent 视图中隐藏导航栏并在 child 视图(在 viewWillAppear(_:)
中)中显示它。弄清楚此操作中的某些内容导致按钮标签绘制得太窄,我尝试在 [=23] 中调用导航栏上的各种 UIKit
重绘方法(setNeedsLayout()
& setNeedsDisplay()
=] 查看控制器的 viewDidLoad()
方法,但无济于事。正如 OP 所写,我能够通过缩小字体大小来正确绘制标签。
我最终能够通过手动将 backBarButtonItem
属性 设置为 UIBarButtonItem
的新实例,以正确的大小正确绘制 "Back"
作为标题(在我的 parent 视图控制器中)。这可能就是它在已接受的答案中起作用的原因。这似乎是 UIKit
中的错误,因为我不认为隐藏和显示导航栏会导致此行为。