首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

How to move right UIBarButtonItem next to largeTitle in UINavigationItem in iOS 13 (如何在largeTitle 13中将鼠标右移至UINavigationItem的旁边)

在iOS 13中,要将右侧的UIBarButtonItem移动到largeTitle旁边,可以使用以下步骤:

  1. 首先,确保你的视图控制器(ViewController)已经嵌入到一个导航控制器(UINavigationController)中。
  2. 在视图控制器的viewDidLoad方法中,创建一个自定义的UIBarButtonItem,并将其添加到导航栏的右侧。
代码语言:txt
复制
override func viewDidLoad() {
    super.viewDidLoad()

    let customButton = UIBarButtonItem(title: "Custom", style: .plain, target: self, action: #selector(customButtonTapped))
    navigationItem.rightBarButtonItem = customButton
}

@objc func customButtonTapped() {
    // 处理按钮点击事件
}
  1. 接下来,我们需要调整largeTitle的位置,使其不覆盖右侧的UIBarButtonItem。可以通过设置导航栏的prefersLargeTitles属性为true来启用largeTitle,并通过设置导航栏的largeTitleDisplayMode属性为.always来保持largeTitle的显示。
代码语言:txt
复制
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    navigationController?.navigationBar.prefersLargeTitles = true
    navigationItem.largeTitleDisplayMode = .always
}
  1. 为了避免largeTitle覆盖右侧的UIBarButtonItem,我们可以在视图控制器的viewDidAppear方法中,获取导航栏的子视图,并将其frame向右移动。
代码语言:txt
复制
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    if let navigationBar = navigationController?.navigationBar {
        for subview in navigationBar.subviews {
            if NSStringFromClass(subview.classForCoder) == "_UINavigationBarLargeTitleView" {
                subview.frame.origin.x = navigationBar.frame.width - subview.frame.width
            }
        }
    }
}

这样,你就可以将右侧的UIBarButtonItem移动到largeTitle旁边了。

在腾讯云的相关产品中,可以使用腾讯云移动开发套件(https://cloud.tencent.com/product/mks)来构建iOS应用程序,并使用腾讯云对象存储(COS)(https://cloud.tencent.com/product/cos)来存储和管理应用程序的数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • DELPHI IDE中部分操作快捷方式

    DELPHI IDE中部分操作快捷方式 1 代码模板 : CTRL+J 2 代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移) 3 选中窗体 : 先选中任一控件,SHIFT+鼠标左键 4 将鼠标指向变量名、单元名、类名,再用 CTRL+鼠标左键 可找到相应的说明 5 在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义 6 相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部 7 CTRL + SHIFT + C:编写申明或者补上函数 8 SHIFT + CTRL + E 显示 EXPLORER 9 CTRL + SHIFT + N (n=1,2,3,4......)定义书签 10 CTRL + N (n=1,2,3,4......)跳到书签n 11 ALT + 鼠标左键 可以块选代码,删除对齐的重复代码非常有用 12 CTRL + PageUp 将光标移至本屏的第一行,屏幕不滚动。 13 CTRL + PageDown 将光标移至本屏的最后一行,屏幕不滚动。 14 CTRL + ↓ 向下滚动屏幕,光标跟随滚动不出本屏。 15 CTRL + ↑ 向上滚动屏幕,光标跟随滚动不出本屏。 16 CTRL + Home 将光标移至文件头。 17 CTRL + End 将光标移至文件尾。 18 CTRL + B Buffer List窗口。 19 CTRL + I 同Tab键。 20 CTRL + M 同Enter键。 21 CTRL + N 同Enter键,但光标位置保持不变。 22 CTRL + T 删除光标右边的一个单词。 23 CTRL + Y 删除光标所在行。 24 CTRL + SHIFT + ↑ 光标在函数体内时,将光标快速移至当前函数声明处。 25 CTRL + SHIFT + ↓ 光标在函数声明行时,将光标快速移至函数定义处。 26 CTRL + SHIFT + C 声明一个过程或函数后,直接生成过程或函数的名称、begin、end; 27 CTRL + SHIFT + E 光标在Edit窗口和Explorer窗口间切换。 28 CTRL + SHIFT + G 插入GUID。 29 CTRL + SHIFT + J 弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句。 30 CTRL + SHIFT + T 在光标行加入To-Do注释。 31 CTRL + SHIFT + Y 删除光标之后至本行末尾之间的文本。 32 CTRL + F3 Call Stack窗口。 33 CTRL + F4 等于File菜单中的Close项。 34 CTRL + 鼠标转轮 加速滚屏。 35 SHIFT + F8 调试时弹出CPU窗口。 36 SHIFT + F10 等于鼠标右键(Windows快捷键)。 37 ALT + F4 关闭所有编辑框中打开的源程序文件,但不关闭项目。(如无打开项目时,则关闭DELPHI^_^ )

    04

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券