gpt4 book ai didi

swift - 带有导航栏的 JSQMessagesViewController

转载 作者:可可西里 更新时间:2023-11-01 02:17:58 27 4
gpt4 key购买 nike

我正在努力将导航栏添加到 JSQMessagesViewController。是否可以在界面生成器中执行此操作,或者我是否必须以编程方式创建导航栏?

当尝试使用 IB 执行此操作时,导航栏在运行时不可见,并且消息一直滚动到 iPhone 显示屏的顶部。我认为需要添加约束才能使其起作用。我不确定如何或向什么添加约束,因为在 IB 中除了我的导航栏之外没有其他任何东西。

抱歉,如果这是一个基本问题,感谢您提供的任何指导!

更新:我仍然很好奇这是否可以通过 IB 完成。但是,我已经想出如何以编程方式执行此操作。我将以下内容添加到 viewDidLoad()

    // Create the navigation bar
let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 64)) // Offset by 20 pixels vertically to take the status bar into account

navigationBar.backgroundColor = UIColor.whiteColor()
navigationBar.delegate = self;

// Create a navigation item with a title
let navigationItem = UINavigationItem()
navigationItem.title = contacts[i].firstName

// Create left and right button for navigation item
let leftButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "btn_clicked:")
let rightButton = UIBarButtonItem(title: "Details", style: UIBarButtonItemStyle.Plain, target: self, action: "details_clicked:")

// Create two buttons for the navigation item
navigationItem.leftBarButtonItem = leftButton
navigationItem.rightBarButtonItem = rightButton

// Assign the navigation item to the navigation bar
navigationBar.items = [navigationItem]

// Make the navigation bar a subview of the current view controller
self.view.addSubview(navigationBar)

这似乎完成了工作。让我知道是否有更好的方法来解决这个问题。

最佳答案

我花了几个小时才找到令人满意的解决方案。我所做的是使用 Main.storyboard 添加一个导航栏。 Adding a navigation bar to JSQMessagesViewController

JSQMessageViewController 文件夹中的 Resources 文件夹中,您会找到一个名为 JSQMessagesViewController 的 .xib 文件。您可以按照自己的方式自定义 UI。向其添加导航栏。

之后,您必须在 JSQMessagesViewController.h 中定义一个 IBAction 方法。例如:

-(IBAction)back;

使用JSQMessagesViewController.m文件填充方法体:

-(IBAction)back {

[self dismissViewControllerAnimated:YES completion:^{
}]; }

最后一步是将 IBAction 方法与 Storyboard 连接起来。

信息:将导航栏添加到 UI 时,请确保将 Collection View 的大小最小化,以使气泡显示在导航栏下方。

最好的问候,纳扎尔

关于swift - 带有导航栏的 JSQMessagesViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120762/

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