【问题标题】:How to fix segue showing a grey screen如何修复segue显示灰屏
【发布时间】:2020-12-27 10:28:55
【问题描述】:

我想创建一个从 FirstViewController 到 DetailViewController 的转场,但是当我写的时候

        let detailVC = DetailViewController()
        detailVC.result = indexPath.row
        print(detailVC.result)
        self.present(detailVC, animated: true, completion: nil)

,它所呈现的只是一个灰色/透明的屏幕。我该如何解决这个问题?

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return posts.count
    }
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! PostTableViewCell
        
        cell.typeLabel.text = "Name: \(posts[indexPath.row].typeOfFood)"
        cell.titleLabel.text = "Title: \(posts[indexPath.row].title)"
        cell.locationLabel.text = "Location: \(posts[indexPath.row].location)"
        cell.nameLabel.text = "Name: \(posts[indexPath.row].name)"
        return cell
        
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//        print("Select Row \(indexPath.row)")
        var result = indexPath.row
        tableView.deselectRow(at: indexPath, animated: true)
//        self.performSegue(withIdentifier: "showDetail", sender: nil)
        let detailVC = DetailViewController()
        detailVC.result = indexPath.row
        print(detailVC.result)
        self.present(detailVC, animated: true, completion: nil)



    }
} ```

【问题讨论】:

标签: swift xcode xcode6 segue swift5


【解决方案1】:

问题是短语DetailViewController()。这不是您在情节提要中设计的详细视图控制器。

相反,给您在情节提要中设计的视图控制器一个标识符,并通过调用此方法向 情节提要 询问该视图控制器:

https://developer.apple.com/documentation/uikit/uistoryboard/1616214-instantiateviewcontroller

现在将该视图控制器向下转换为 DetailViewController 并从那里开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 2021-10-15
    • 2015-11-14
    • 2021-09-30
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多