gpt4 book ai didi

swift - 连接到 xib 文件的 UIViewController 中无法识别 subview

转载 作者:行者123 更新时间:2023-11-30 11:19:07 27 4
gpt4 key购买 nike

我有一个连接到 xib 文件的 UIViewController swift 文件(我在创建 viewController 时单击了 create xib)。现在,它无法识别主视图中的任何 subview 。

当我在调试时编写“po self.view.subviews”时。它返回 0。所有 subview (tableView、textView 和标签)= nil。我什至创建了一个新项目,但仍然遇到相同的错误。我在这里不知所措。

这是我的 AboutUsViewController swift 文件中的代码:

导入UIKit

导入基础

类AboutUsViewController:UIViewController、UITableViewDelegate、UITableViewDataSource {

@IBOutlet weak var textView: UITextView! 

@IBOutlet weak var contactsTableView: UITableView!

let items = ["Item 1", "Item2", "Item3", "Item4"]


override func viewDidLoad() {
super.viewDidLoad()
let NibName = UINib(nibName: "ContactUsTableViewCell", bundle: nil)
contactsTableView.register(NibName, forCellReuseIdentifier: "ContactUsTableViewCell")

// Do any additional setup after loading the view.®
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
// MARK: - Table view data source

func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (indexPath.item == 0) {
let cell = tableView.dequeueReusableCell(withIdentifier: "ContactUsTableViewCell", for: indexPath) as! ContactUsTableViewCell
cell.label.text = "HIII"
return cell

} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "ContactUsTableViewCell", for: indexPath) as! ContactUsTableViewCell
cell.label.text = items[indexPath.item]
return cell
}
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if (indexPath.item == 0) {
return 200
} else {
return 86
}
}

}

my swift file

my xib file

最佳答案

确保像这样加载 vc

let vc = AboutUsViewController(nibName: "AboutUsViewController", bundle: nil)
self.window?.rootViewController = vc
self.window?.makeKeyAndVisible()

关于swift - 连接到 xib 文件的 UIViewController 中无法识别 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51476163/

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