iOS 如果未声明 heightForRowAtIndexPath,7.1 会崩溃
iOS 7.1 crash if heightForRowAtIndexPath is not declared
我试图将 estimatedHeightForRowAtIndexPath
用于 AutoLayout 的动态单元格高度,并按预期在 iOS8 中工作,但在 iOS7.1 中迷恋这样说:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyProject.ViewController tableView:heightForRowAtIndexPath:]: unrecognized selector sent to instance 0x79e91350'
如果我定义 heightForRowAtIndexPath
,错误就会消失,但单元格不会自动调整大小。有什么想法吗?
更新:它确实在 iOS 7.0 中可用,对吗?
尝试:
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1 ){
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 206;
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1 {
return UITableViewAutomaticDimension
} else {return 206}
}
我试图将 estimatedHeightForRowAtIndexPath
用于 AutoLayout 的动态单元格高度,并按预期在 iOS8 中工作,但在 iOS7.1 中迷恋这样说:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyProject.ViewController tableView:heightForRowAtIndexPath:]: unrecognized selector sent to instance 0x79e91350'
如果我定义 heightForRowAtIndexPath
,错误就会消失,但单元格不会自动调整大小。有什么想法吗?
更新:它确实在 iOS 7.0 中可用,对吗?
尝试:
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1 ){
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 206;
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1 {
return UITableViewAutomaticDimension
} else {return 206}
}