cari

Rumah  >  Soal Jawab  >  teks badan

ios - storyboard页面跳转到代码页面,UINavigationController在代码页面没有成功显示

问题

  1. storyboard跳转到代码界面,UINavigationController在storyboard界面显示,代码界面不显示

代码

我是在AppDelegate里增加UINavigationController

//AppDelegate.swift
let storyboard = UIStoryboard(name:"Main",bundle:nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "LoginViewController")
//let viewController = LoginViewController()
let nav = UINavigationController(rootViewController: viewController)
self.window?.rootViewController = viewController
self.window?.addSubview(nav.view)
self.window?.makeKeyAndVisible()

//统一导航条样式
let textAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize: 19.0), NSForegroundColorAttributeName: UIColor.white]
UINavigationBar.appearance().titleTextAttributes = textAttributes
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().barTintColor = UIColor.red

在storyboard界面通过该方式跳转

//LoginViewController.swift
let chatListView = SingleChatListViewController()
self.present(chatListView, animated: true, completion: nil)

结果

这个首页是正常的

这个就不对了

伊谢尔伦伊谢尔伦2867 hari yang lalu492

membalas semua(2)saya akan balas

  • PHPz

    PHPz2017-04-18 09:56:54

    Gantikan

    self.present(chatListView, animated: true, completion: nil)
    dengan
    self.navigationController?.pushViewController(chatListView , animated: true)
    dan ia akan menjadi ok
    Anda menggunakan present untuk memaparkannya Jika ia tidak berkaitan secara logik dengan halaman yang dipaparkan oleh nav, anda boleh gunakan kaedah ini

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:56:54

    Walaupun saya tidak pernah menggunakan Swift, nampaknya anda menggunakan API yang salah

    //在storyboard界面通过该方式跳转
    //LoginViewController.swift
    let chatListView = SingleChatListViewController()
    self.present(chatListView, animated: true, completion: nil)

    Self.navigationViewController menggunakan tolak untuk melompat, hadiah anda ialah kaedah lompatan yang lain

    balas
    0
  • Batalbalas