我使用UICollectionView
或UITableView
作为UIViewController
的子项UITabBarController
时发现了一个非常奇怪的错误。
正如您所看到的,我们有UITabBarController
包含ViewControllers MostViewedViewController
和MostRecentViewController
。
MostViewedViewController
包含UIButton
,点击后会"Show"-Segue
MostRecentViewController
。
MostRecentViewController
包含UITableView
,其中包含带有重用标识符mostRecentCellIdentifier
的“原型单元格”。 ViewController的类与'UITableViewDataSource'连接,包含以下代码:
import UIKit
import Foundation
class MostRecentViewController : UIViewController {
private let kReuseIdentifier = "mostRecentCellIdentifier"
@IBOutlet private weak var tableView: UITableView!
internal var dataArray : [Int]? {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
dataArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
}
}
extension MostRecentViewController : UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray?.count ?? 0
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier(kReuseIdentifier, forIndexPath: indexPath)
}
}
现在,当我打开应用程序时,TabBarViewController显示MostViewedViewController
。如果我点击按钮,我会看到以下内容(这应该如何):
但是当我使用MostRecentViewController
切换到TabBar
时,UITableViewCells具有正确的背景颜色但不包含任何已定义的子视图(为什么它们不显示??? ):
该问题可能与THIS ONE
有关