chr*_*ale 6 uinavigationbar uibarbuttonitem ios uibarmetrics swift
我setBackButtonTitlePositionAdjustment:forBarMetrics:在 UIBarButtonItem 的外观上使用该方法,如下所示:
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(12, -1), forBarMetrics: .Default)
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(15, -1), forBarMetrics: .Compact)
Run Code Online (Sandbox Code Playgroud)
然后,在视图控制器中我想用来backButtonTitlePositionAdjustment(for:)获取该值。我假设必须有一个我可以使用的 UIBarMetrics 值 - 也许在导航栏或 UITraitCollection 中,但我认为我错过了一些明显的东西?
小智 1
您可以像这样在视图控制器中检索值
if let backButtonItem = navigationItem.backBarButtonItem {
let offset = backButtonItem.backButtonTitlePositionAdjustment(for: .default)
print(offset)
}
Run Code Online (Sandbox Code Playgroud)
我们检查backBarButtonItem当前视图控制器的属性navigationItem是否不是nil。如果存在,我们使用该backButtonTitlePositionAdjustment(for:)方法检索后退按钮标题位置调整,并将.default条形指标作为参数传递。该方法将返回偏移调整,然后您可以根据需要使用它。
请注意,如果backBarButtonItem是nil,则意味着后退按钮是从前一个视图控制器继承的,或者导航项没有设置后退按钮。在这种情况下,您可能需要根据您的具体要求进行不同的处理