我应该采取什么方法-快速

时间:2018-11-15 10:30:12

标签: ios swift tableview

enter image description here

我该如何构建像这样的相同设计...请指导我,我只想知道我如何能够实现相同的视图。我知道什么是tableview,但最重要的是如何使用三种不同的单元格类型填充tableview,并且位置不是固定的,取决于beckend。

所有单元格都可以单击(推到另一个Viewcontroller)

2 个答案:

答案 0 :(得分:0)

为了提供diff单元(无论是在不同部分中还是仅一个部分都没有关系),您需要做的就是注册多个不同的“原型”单元(每个都具有diff布局/样式/等)。与表格视图。然后,您可以根据需要使用“业务逻辑”使特定的“类型”出列(如果可重用)。

以编程方式使用

注册原型单元
func register(_ cellClass: AnyClass?, forCellReuseIdentifier identifier: String)

如果使用情节提要-您只需将多个单元格拖到表格视图中

然后在

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

您使正确的单元格类型出队

func dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell?
通过使用表视图的委托方法,

单元格是“可选的”

optional func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)

答案 1 :(得分:-1)

要创建此视图,最简单的方法是 创建一个具有不同部分的简单集合视图,每个部分中将有多行

在这里查看demoapp的屏幕截图: http://prntscr.com/lioqjz

节和行都是动态的

要执行此视图,我们使用UICollectionreusableview作为页脚视图在每个节之间提供空间,这是collectionview实现的代码:

extension ViewController:UICollectionViewDelegate,UICollectionViewDataSource {


func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 3
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 5
 //If you have different rows with different sections then you follow through array count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier:"Cell", for: indexPath) as! customCollectionViewCell

    cell.txtLabel.text="Type="+String(indexPath.section)+""+String(indexPath.row)
    return cell
}

}

这是情节提要的SS: http://prntscr.com/liosvm

要使单元格可点击,您可以在每个单元格中添加UITapgesture