使用UITableView

时间:2018-08-01 23:10:21

标签: ios swift uitableview swift3 uicollectionview

是否可以使用UITableView而不是UICollectionView在1行中获得2列。

我正在使用的代码每1行返回1列,而我每次需要在1行中有2列,就像所附加的图像一样。

2 Columns 1 Row

使用的代码为快速3:

    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat{
        return 0
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return SCREEN_WIDTH / 4;
    }

    //Original Func
//  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//      return 50;
//  }

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        cell.backgroundColor = UIColor.white
    }

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


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        subCategoryTable.register(UINib(nibName: "subCategoryCellTableViewCell", bundle: nil), forCellReuseIdentifier: "subCategoryCellTableViewCell")

        //let cell:UITableViewCell = UITableViewCell(style:UITableViewCellStyle.default, reuseIdentifier:"cell")

        let cell:subCategoryTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! subCategoryTableViewCell
        cell.backgroundImageView.image = UIImage(named: "ic_placeholder.png")
        //NetworkManager.sharedInstance.getImageFromUrl(imageUrl:(subCategoryMenuData[indexPath.row] as AnyObject).thumbnail , imageView: cell.backgroundImageView)
        cell.categoryName.text = (subCategoryMenuData [indexPath.row] as? String)
        cell.categoryName?.textColor = UIColor().HexToColor(hexString: REDCOLOR)

        cell.selectionStyle = .none

        //cell.textLabel?.text = (subCategoryMenuData [indexPath.row] as? String)
        //let imageFilter = UIImageView(frame: CGRect(x:SCREEN_WIDTH - 60, y: 10, width: 30, height: 30))
        //cell.accessoryType = .disclosureIndicator
        //cell.addSubview(imageFilter)

        return cell
    }

我尝试更改numberofSections和numberofRowsinSections,但都没有起作用。有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

  

是否可以使用UITableView而不是UICollectionView在1行中获得2列

基本上没有。 UICollectionView基本上 不过是UITableView的概括,可以超越其局限性。 UITableView是单个单元格的一个垂直滚动列;就这样。如果您还想要更多,请升级到UICollectionView。