gpt4 book ai didi

ios - 如何在 Swift Xcode 中创建自定义导航栏?

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:34 25 4
gpt4 key购买 nike

我正在为我的 iOS 毕业设计开发一个聊天应用程序。我设计了如下导航栏:

enter image description here

现在我正尝试在我的 Xcode 项目中开发上面的图形,但我不知道这是否是实现此目标的正确方法,并且没有像图形那样得到它。

我正在使用一个 xib 文件,我使用它的一个实例加载到我的 ViewController.swift 中。将其添加为 navigationItemtitleView:

let helperView = HelperView()
navigationItem.titleView = helperView

这是上面代码片段的结果:

enter image description here

这个结果的问题是它与左栏按钮项目重叠,另一个问题,我仍然没有弄清楚,如果消息气泡可以有一个动态高度,当它有多行时(最大是3 行)。

enter image description here

有没有人在 Xcode 中有过这种设计的经验,这是正确的方法吗,或者是否有更好的方法来实现这一点。也许是一个自定义的 UINavigationController 类?

最佳答案

尝试创建您想要的整个导航 View ,这意味着宽度等于 View ,然后尝试使用此代码添加它

    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.backgroundColor = .clear

navigationController?.view.insertSubview(subview, belowSubview: navigationController?.navigationBar)

它会让你的导航栏变得不可见但仍然显示栏按钮

更新,作者 dimpiax

但最好覆盖你的 UINavigationController 类,并在 viewDidLoad 中设置 View

navigationBar.shadowImage = UIImage()
navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationBar.backgroundColor = .clear

并依赖于 viewController 的 View ——显示特定 View 。

关于ios - 如何在 Swift Xcode 中创建自定义导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032929/

25 4 0