自定义tableViewCell高度

时间:2015-07-27 00:21:29

标签: swift uitableview tableviewcell xcode7

所以我试图在UITableView中设置3个不同的tableView单元格,每个单元格具有不同的高度。我想知道如何返回3个不同的细胞,每个细胞都有自己的定制高度?

感谢指点或帮助!

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 3
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if(section == 0) {
        return 1
    }
    if(section == 1) {
        return 1
    }
    else {
        return 10
    }

}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    switch indexPath.section{
    case 0:
        let myProfile = tableView.dequeueReusableCellWithIdentifier("ProfileHeaderCell") as! VideoTableViewCell



        return myProfile

    case 1:
        let myInfo = tableView.dequeueReusableCellWithIdentifier("AlbumCell") as! AlbumTableViewCell


        return myInfo

      default:
        let cell = tableView.dequeueReusableCellWithIdentifier("TravelBookCell") as! TravelBookTableViewCell


        return cell

    }
}

2 个答案:

答案 0 :(得分:0)

您可以切换框架的单元格大小。以下是交换机案例0的示例。

    case 0:
            let myProfile = tableView.dequeueReusableCellWithIdentifier("ProfileHeaderCell") as! VideoTableViewCell

myProfile.frame.size = CGSize(width: /*CGFloat*/, height: /*CGFloat*/)  

            return myProfile

答案 1 :(得分:0)

  override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

    let section = indexPath.section
    if(section == 0) {
      return 20
    }
    if(section == 1) {
      return 30
    }
    else {
      return 50
    }

  }