在自定义的UINavigationBar子类中,调整返回按钮箭头的位置是否可能?这是因为在具有自定义调整高度的导航栏中,该位置不正确。
在自定义的UINavigationBar子类中,调整返回按钮箭头的位置是否可能?这是因为在具有自定义调整高度的导航栏中,该位置不正确。
我最终按照以下方法进行了修复,使用了imageWithAlignmentRectInsets:
self.backIndicatorImage = UIImage(named: "back_detail")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal).imageWithAlignmentRectInsets(UIEdgeInsetsMake(0, 0, -3, 0))
self.backIndicatorTransitionMaskImage = UIImage(named: "back_detail")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal).imageWithAlignmentRectInsets(UIEdgeInsetsMake(0, 0, -3, 0))
编辑
添加了更多的解释以澄清实现方法:
class VDLNavigationBar: UINavigationBar {
override func awakeFromNib() {
// Back button
self.backIndicatorImage = UIImage(named: "back_detail")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal).imageWithAlignmentRectInsets(UIEdgeInsetsMake(0, 0, -3, 0))
self.backIndicatorTransitionMaskImage = UIImage(named: "back_detail")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal).imageWithAlignmentRectInsets(UIEdgeInsetsMake(0, 0, -3, 0))
}
}
在您的UINavigationController中使用此自定义子类
你也可以尝试设置 UINavigationBar 的 hidden 属性为 "True",并使用 UIView 代替 UINavigationBar。
当您想要自定义 UITabBarController 的 TabBar 时,这也是一个不错的选择。
backIndicatorTransitionMaskImage
是什么,你是如何将其分配给返回按钮的? - gabbler