ios - TableView仅在单击时显示内容

标签 ios swift uitableview tableview

我正在制作一个 TableView 来显示我们镇上的商店及其类别。我在表格 View 中显示商店时遇到问题:首先,第一家商店不显示,其次,商店仅在单击时才可见。您可以找到该问题的视频here

表格 View 的代码:

import UIKit

class MasterTableViewController: UITableViewController {

// MARK: - Properties
var detailViewController: DetailViewController? = nil
var winkels = [Winkel]()

// MARK: - View Setup
override func viewDidLoad() {
    super.viewDidLoad()

    winkels = [
        Winkel(category:"Literature", name:"Standaard"),
        Winkel(category:"Literature", name:"Acco"),
        Winkel(category:"Clothing", name:"H&M"),
        Winkel(category:"Clothing", name:"C&A"),
        Winkel(category:"Clothing", name:"Patio"),
        Winkel(category:"Restaurants", name:"De 46"),
        Winkel(category:"Restaurants", name:"Het hoekske"),
        Winkel(category:"Supermarkets", name:"Carrefour"),
        Winkel(category:"Supermarkets", name:"Colruyt")
    ]

    if let splitViewController = splitViewController {
        let controllers = splitViewController.viewControllers
        detailViewController = (controllers[controllers.count - 1] as! UINavigationController).topViewController as? DetailViewController
    }
}

override func viewWillAppear(animated: Bool) {
    clearsSelectionOnViewWillAppear = splitViewController!.collapsed
    super.viewWillAppear(animated)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

// MARK: - Table View
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

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

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)


    let winkel = winkels[indexPath.row]
    cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")
    cell.textLabel!.text = winkel.name
    cell.detailTextLabel?.text = winkel.category
    return cell
}

// MARK: - Segues
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showDetail" {
        if let indexPath = tableView.indexPathForSelectedRow {
            let winkel = winkels[indexPath.row]
            let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController
            controller.detailWinkel = winkel
            controller.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem()
            controller.navigationItem.leftItemsSupplementBackButton = true
        }
    }
 }

}

有人知道如何解决这些问题吗?提前致谢!

最佳答案

删除该行
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell") 因为你已经有了
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

关于ios - TableView仅在单击时显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633729/

相关文章:

ios - 如何在 swift3 的 UILabel 中获取 JSON 数据

ios - 表格 View Controller 在 IOS swift 中 self 复制

iphone - 向表格 View 中的每个单元格添加不同的图标

ios - 更新核心数据 swift 4 上的对象

ios - 我正在通过应用程序绑定(bind)工作计时器

swift - 如何在 Swift 中动态创建自定义表格 View 单元格?

swift - 将 UI 添加到单元格 swift

objective-c - 如何检测 UITableView 中有多少单元格可见

iOS 8.4 + Swift - 来自 UINavigationController 的自定义转换,如何将行为限制为导航堆栈中的一个转换?

ios - 如何在新的 UIViewController 中打开我在 UIWebView 中的 mp3 链接?