gpt4 book ai didi

ios - navigationController 在执行 segue 时为零?

转载 作者:搜寻专家 更新时间:2023-11-01 07:31:43 27 4
gpt4 key购买 nike

我正在使用一个名为 SwiftPages 的库.它工作正常。但是当我从这个 View Controller 执行 Push Segue 到另一个时,导航栏 self.navigationController 是 nil 吗?

如何将导航栏添加到推送的 VC 中?

View Controller

class CoursePageController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var ChapterTable: UITableView!

@IBOutlet weak var courseDesc: UITextView!

var CourseName : String!

var ChapName : [String] = []
var ChapId : [String] = []


override func viewDidLoad() {
super.viewDidLoad()



self.title = CourseName
self.courseDesc.text = CourseDescriptionC
self.courseDesc.setContentOffset(CGPointZero, animated: true)
HUD()
ChapterTable.estimatedRowHeight = 120
ChapterTable.rowHeight = UITableViewAutomaticDimension
getData()
}

func HUD(){
progress.show(style: MyStyle())
}

func getData(){
Alamofire.request(.GET, "http://www.wve.com/index.php/capp/get_chapter_by_course_id/\(CourseIdinController)")
.responseJSON { (_, _, data, _) in
let json = JSON(data!)
let catCount = json.count
for index in 0...catCount-1 {
let cname = json[index]["CHAPTER_NAME"].string
let cid = json[index]["CHAPTER_ID"].string
self.ChapName.append(cname!)
self.ChapId.append(cid!)
}
self.ChapterTable.reloadData()
self.progress.dismiss()
}
}


func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return ChapName.count
}


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : UITableViewCell = self.ChapterTable.dequeueReusableCellWithIdentifier("ChapCell") as! UITableViewCell
cell.textLabel?.text = self.ChapName[indexPath.row]

return cell
}


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//Here the navigationController is nil
self.navigationController?.pushViewController(self.storyboard!.instantiateViewControllerWithIdentifier("LessonController") as! UIViewController, animated: true)
// performSegueWithIdentifier("ChapSegue", sender: nil)
}

编辑

我已将导航 Controller 添加为我的初始 VC。类(class)页面 Controller 显示在 SwiftPages 中。

我找不到它是如何呈现的。请看一下这个文件。 https://github.com/GabrielAlva/SwiftPages/blob/master/SwiftPages/SwiftPages.swift

提前致谢!

最佳答案

你把 CoursePageController 放在 NavigationController 里了吗?如果是,那么检查它是如何呈现的?

如果它以模态方式呈现,那么您将不会获得 navigationController 引用。

如果您将 navController 作为 rootViewController,这将起作用

if let navController = UIApplication.sharedApplication().keyWindow?.rootViewController as? UINavigationController {
//get the nav controller here and try to push your anotherViewController
}

关于ios - navigationController 在执行 segue 时为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196277/

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