gpt4 book ai didi

ios - 如何以编程方式向 UIBarButtonItem 添加填充

转载 作者:行者123 更新时间:2023-11-30 13:26:42 24 4
gpt4 key购买 nike

我在 viewDidLoad() 中使用此代码以编程方式添加了 UINavigationBar

let navbar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 59.0))
self.view.addSubview(navbar)

然后我使用此代码添加了两个我需要的按钮:

let item = UINavigationItem()
item.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .Done, target: self, action: #selector(CollectionCollectionViewController.goBack(_:)))

item.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: #selector(CollectionCollectionViewController.addProduct(_:)))

navbar.setItems([item], animated: true)

一切都很好,但是这个按钮非常靠近屏幕的左右边缘。如何向此按钮添加填充(或左右边距)?

看起来像这样:

enter image description here

我看到,当我启动这个ViewController时,按钮和屏幕之间的间距只有一次,当我第二次启动它时,按钮和屏幕之间的间距是正确的。有人可以解释一下为什么吗?

最佳答案

看起来您的导航栏的框架是导致意外缺少间距的原因。它的 x 位置为 0,其宽度与 View Controller 的宽度相同。因此没有间距。

我建议在 View Controller 的 Storyboard中添加一个导航栏。在大多数情况下,最好在 Storyboard中解决尽可能多的 UI 问题,因为这样可以减少需要阅读和维护的代码量。

但是,如果您想找出导航栏的正确框架位置和尺寸,您可以打印导航栏的框架。然后,将它出现时没有间距的框架与它处于正确位置时的框架进行比较。然后,您可以相应地调整其 x 位置和 宽度

关于ios - 如何以编程方式向 UIBarButtonItem 添加填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37097889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com