是否可以在自定义UINavigationBar子类中调整后退按钮箭头的位置。这是必需的,因为在具有自定义调整高度的导航栏中位置错误。
答案 0 :(得分:12)
我最后使用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中使用此自定义子类
答案 1 :(得分:-2)
你也可以尝试将UINavigationBar的隐藏属性设置为" True" 并制作UIView而不是使用UINavigationbar。
当您想要自定义UITabBarController的TabBar时,这也很好。