使用 Swift 3.0 中的数据在 Xib 中显示 tableView

Posted

技术标签:

【中文标题】使用 Swift 3.0 中的数据在 Xib 中显示 tableView【英文标题】:Showing tableView in Xib with data in Swift 3.0 【发布时间】:2017-09-04 09:54:21 【问题描述】:

我在UIView 中使用了一个名为“CustomerView”的Xib,在其中我拖了一个tableView 并为tableView 创建了一个单独的Xib 文件,如何显示xib 的“CustomerView”视图.on View contoller and tableview with data in Swift 3.I know how to show customer cell with xib on view controller with tableview data.谁能帮助我,我将不胜感激

【问题讨论】:

你的语言让我有点困惑,你在 customerView xib 中有一个 tableview,你想填充 tableview 并将整个视图呈现到视图控制器中? 是的,你是对的@saketkumar @saketkumar 请为这个问题投票,这样我会得到更多答案 哥们,你只有一个 Xib 对吧?不是两个你的意思是什么,还为tableView创建了一个单独的Xib文件? 简单地做类似 = var t = customerView() // 在 customerView 中你做所有需要的东西 view.addSubview(t) 【参考方案1】:

这里的anyview是你想要显示或隐藏的uiview

扩展视图控制器:UITableViewDelegate

    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 
        return any view
    
    func instanceFromNib() -> UIView 
        return UINib(nibName: "Header", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
        return 200;
    

有一个像下面这样的按钮操作

    @IBAction func HideShowView(_ sender: UIButton) 

    if(!isSelected) 
        isSelected = true

        self.mytable.delegate = nil
        mytable.reloadData()
    
    else 
          isSelected = false
        self.mytable.estimatedRowHeight = 40
        self.mytable.delegate = self
        mytable.reloadData()

    








【讨论】:

它不适用于动态表格视图数据@saket kumar

以上是关于使用 Swift 3.0 中的数据在 Xib 中显示 tableView的主要内容,如果未能解决你的问题,请参考以下文章

使用 4.0 版的 Swift 3.0 项目中的 Tesseract 训练数据不工作

使用 swift3 为 xib 文件中的按钮提供操作

swift3中的导航问题,带有没有故事板的.xib文件

如何在 Swift 3.0 中的控制器之间传递 JSON 数据?

Swift将文本分配给xib文件中的标签

Swift 包中的 XIB 文件 - 忽略约束