2015-03-24 33 views
0

我知道这是一个问题,有人可能会回答,但我还找不到解决方案。是否可以使用Swift更改iOS 7中的静态单元格高度?

我试图用斯威夫特代码更改静态细胞的HIGHT。我正在使用此方法 func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat

但是,单元格大小不会根据标签的内容而改变。这是我的:

@IBOutlet weak var testDetailsLabel: UILabel! 
@IBOutlet weak var testDetailsCell: TestDetailsTableViewCell! 

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

    if indexPath.section == 1 && indexPath.row == 0 { 
     self.testDetailsCell.descriptionLabel?.text = self.test?.details 
     self.testDetailsCell.setNeedsLayout() 
     self.testDetailsCell.layoutIfNeeded() 
     self.testDetailsCell.bounds = CGRectMake(0.0, 0.0, tableView.bounds.width, self.testDetailsCell.bounds.height) 
     self.testDetailsCell.setNeedsLayout() 
     self.testDetailsCell.layoutIfNeeded() 

     let size = self.testDetailsCell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize) as CGSize! 

     return size.height + 1 
    } 

    return super.tableView(tableView, heightForRowAtIndexPath: indexPath) 
} 

任何机构知道是否有可能改变静态细胞的高度尺寸?

也许约束的问题呢?我有双方约束,顶部,底部和高度> =约束。

回答

1

我斟酌着这只昨晚也。我在iOS8上的发展,所以我道歉,如果这不工作,IOS 7,但我所做的就是连接一个IBOutlet对表本身,在我viewDidLoad中()方法用下面的代码:

@IBOutlet var logInTable: UITableView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     logInTable.rowHeight = 50 //Make table cells fixed height 

} 

我希望这帮助。

谢谢

相关问题