bounty还有3天到期。回答此问题可获得+150声望奖励。daniel希望引起更多注意这个问题:请沿着问题的确切参数回答问题。我确实希望能够获得UIBarButtonItem的UIBarMetrics。我会考虑其他替代解决方案,如果他们的工作。我确实需要UIBarMetrics,以便与原始问题使用的UIBarButtonItem.setTitlePositionAdjustment(:for:) instead of backButtonTitlePositionAdjustment(
:for:)一起使用。
我在UIBarButtonItem的外观上使用setBackButtonTitlePositionAdjustment:forBarMetrics:
方法,如下所示:
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(12, -1), forBarMetrics: .Default)
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(15, -1), forBarMetrics: .Compact)
然后,在视图控制器中,我想使用backButtonTitlePositionAdjustment(for:)
来获取值。我假设一定有一个我可以使用的UIBarMetrics值--也许在导航栏或UITraitCollection中,但我想我错过了一些明显的东西?
1条答案
按热度按时间nx7onnlm1#
你可以像这样在视图控制器中检索值
我们检查当前视图控制器的
navigationItem
的backBarButtonItem
属性是否不是nil
。如果存在,我们使用backButtonTitlePositionAdjustment(for:)
方法检索后退按钮标题位置调整,并将.default
条度量作为参数传递。该方法将返回偏移调整,然后您可以根据需要使用它。请注意,如果
backBarButtonItem
是nil
,则意味着后退按钮是从以前的视图控制器继承的,或者导航项没有设置后退按钮。在这种情况下,您可能需要根据您的特定要求以不同的方式处理它