如何在iOS中调整后退按钮的y轴

Posted

技术标签:

【中文标题】如何在iOS中调整后退按钮的y轴【英文标题】:how to adjust y-axis of back button in iOS 【发布时间】:2016-11-10 11:02:42 【问题描述】:

我创建了一个自定义导航控制器子类UINavigationController。现在,当我增加导航栏的大小时,后退按钮也会向下滑动。 Then how to adjust the y-axis of back button.

self.navigationBar.frame = CGRect(x:0, y: 20, width: self.view.frame.size.width, height: 64.0)

我可以通过以下代码调整标题的 y 轴

self.navigationBar.setTitleVerticalPositionAdjustment(-30, for: .default)

【问题讨论】:

可能重复。检查我的答案...***.com/questions/40316352/… @Joe - 我正在寻找一种可以使用在 UINavigationController 的子类中编写的代码的解决方案。不在 UIViewController 中 【参考方案1】:

试试 - (void)setBackButtonTitlePositionAdjustment:(UIOffset)调整 forBarMetrics:(UIBarMetrics)barMetrics; - (void)setBackButtonBackgroundVerticalPositionAdjustment:(CGFloat)调整 forBarMetrics:(UIBarMetrics)barMetrics;

【讨论】:

虽然 C 答案在 swift 标记的帖子中除外,但您可以通过纯 swift 帖子对 OP 提供更多帮助,格式化帖子也有助于提高可读性【参考方案2】:

这适用于 Swift 3

self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 20, width: self.view.bounds.size.width, height: 100)
    self.navigationController?.navigationBar.barTintColor = UIColor.yellow
    self.title = "My Title"
    self.navigationController?.navigationBar.setTitleVerticalPositionAdjustment(-30, for: .default)
    let button = UIBarButtonItem(title: "myButton", style: .done, target: self, action: #selector(myViewController.myFunc))
    self.navigationItem.leftBarButtonItem = button
    self.navigationItem.leftBarButtonItem?.setTitlePositionAdjustment(.init(horizontal: 0, vertical: -30), for: .default)

【讨论】:

当我在 UINavigationController 的子类中使用您的代码时,这不起作用

以上是关于如何在iOS中调整后退按钮的y轴的主要内容,如果未能解决你的问题,请参考以下文章

如何调整树状图的y轴大小

如何在 Xamarin ios 中获取导航栏后退按钮的大小?

如何在iOS7中正确定位后退按钮

如何在 ios 上的 react-native-navigation(V1) 中添加后退按钮以关闭模式屏幕

IOS - 如何使默认的后退按钮调用展开segue

在iOS中按下后退按钮时如何创建确认弹出窗口?