我在UIViewController中有一个父UIView。将此父UIView置于分段控制之下,以便在选择其他索引时,此父视图将根据添加的子视图(例如currentViewController()。view)置于最前面。

var parentView: UIView!
var currentView: UIView!
override func viewDidLoad() {
    currentView = currentViewController().view
    parentUIView.addSubview(currentView)
    parentUIView.bringSubview(currentView)
}


currentViewController内部有一个UITableView。由于控制器是在xib下构建的,因此我将单元格注册在currentViewController中。 (示例代码如下)

import UIKit

class currentViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet var stockInfo: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    stockInfo.delegate = self
    stockInfo.dataSource = self
    stockInfo.register(UITableViewCell.self, forCellReuseIdentifier: "something")
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = stockInfo.dequeueReusableCell(withIdentifier: "something", for: indexPath) as! UITableViewCell
    cell.textLabel?.text = "testing DEFAULT"
    return cell
}


该代码非常简单直接。当选择分段控件时,我检查索引并将此视图置于最前面。上面的代码只是一个例子。我也有其他看法。

不幸的是,我的硬编码单元(为了调试方便)甚至没有显示超过一秒钟。它们是在第一次加载视图时出现的,然后在没有任何用户操作的情况下很快消失。我想他们已经被释放了吗?还是有我不知道的任何原因?有人可以帮忙吗?我已经坚持了几个小时。

最佳答案

让我补充一点,我整天都在浪费时间去弄清楚。我的表视图单元格在reloadData()之后消失了。解决方案是->要取消隐藏prepareForReuse()中的单元格,prepareForReuse()用于单元格类内部。

10-07 19:51
查看更多