【问题标题】:View with table view only works with default View Controller带有表格视图的视图仅适用于默认视图控制器
【发布时间】:2017-07-06 07:09:27
【问题描述】:

我需要在我的应用程序中设置一个设置屏幕,我打算使用一个简单的静态表格视图来创建它。不幸的是,我遇到了一个问题。当我将自定义视图控制器分配给情节提要中的视图时,视图表在运行时变黑。

尽管视图控制器没有改变默认行为。此时我只重写了一种方法,将设置字符串放在标题中。

import Foundation
import UIKit

class SettingsViewController: UITableViewController {

    override func loadView() {
        self.title = "Settings"
    }

}

当我删除自定义视图控制器时,表格会正常显示。

我使用以下代码进入视图。

guard let vc = UIStoryboard(name:"Main", bundle:nil).instantiateViewController(withIdentifier: "settingsViewController") as? UITableViewController else { // or SettingsViewcontroller for the first version
                print("Could not instantiate view controller with identifier of type SettingsViewController")
                return
            }            
self.navigationController?.pushViewController(vc, animated:true)

什么可能导致这个问题?

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    你必须调用super.loadView(),你正在覆盖UITableViewController's loadView()而不是调用超类方法,因为你得到了黑屏。

    import Foundation
    import UIKit
    
        class SettingsViewController: UITableViewController {
    
            override func loadView() {
                self.title = "Settings"
                super.loadView()
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多