ios - 如何在 Swift 中呈现 UI View 并保留 Tab 栏

标签 ios swift uitabbar

我无法在 Swift 中成功呈现 UI View 并保留 Tab 栏。它确实成功呈现,但没有标签栏。显示 UIView 似乎会删除选项卡栏。这是我的代码。

navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(goMessages))

这是我用的。

class MessagesController: UITableViewController {
    let cellId = "cellId"
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(goMessages))
        
        let image = UIImage(named: "new_message_icon")
        navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(handleNewMessage))
        
        checkIfUserIsLoggedIn()
        
        tableView.register(UserCell.self, forCellReuseIdentifier: cellId)
        
        //        observeMessages()
    }

    @objc func goMessages() {
        let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let Messages = storyBoard.instantiateViewController(withIdentifier: "Messages") as! MainMSGController
        self.present(Messages, animated:true, completion:nil)

最佳答案

您必须将 View Controller 推送到您的 navigationViewController 中。

但如果您没有,则应将 MessagesController 嵌入到 UINavigationViewController 中。 (在您的 Main.storyboard 中,选择 MessagesController,然后从菜单 Editor -> Embed in -> Navigation Controller 中选择)

然后:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let Messages = storyBoard.instantiateViewController(withIdentifier: "Messages") as! MainMSGController
navigationController?.pushViewController(viewController: Messages, animated: true)

要关闭它,您可以:

navigationController?.popViewController(animated: true)

关于ios - 如何在 Swift 中呈现 UI View 并保留 Tab 栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54421961/

相关文章:

ios - 为什么我的 UILongPressGestureRecognizer 不工作?

ios - 是否可以使用 Core Graphics 绘制到各个 channel ?

ios - Swift:如何从 TableView 中删除重复项?

xcode - 为什么我的 scrollView 是零?

ios - 看不到标签栏图像

ios - if 语句不返回任何内容

ios - 具有许多 NSSortDescriptor 的 NSFetchedResultsController

swift - CommonCrypto 如何在 SWIFT3 中使用?

iphone - 只有图像作为 UITabBarItem

ios - 如何自定义TabBarItems?