UITableViewCell,图像和宽高比

时间:2016-06-28 20:53:57

标签: ios swift uitableview

我有一个UITableView,我需要在每个自定义单元格中显示不同的图像(使用不同的大小)(使用UIImageView)。为了正确显示它们,我需要计算每个图像的纵横比并调整UIImageView的框架。但有一个问题。当我运行应用程序时,它会显示每个单元格的错误宽高比。然后我开始滑到桌子底部,再次回到顶部,好几次。每次我看到正确的宽高比,对于某些细胞,对其他细胞都是错误的。是因为系统正在重用原型单元吗?

以下是 import Foundation extension UIViewController: PKPaymentAuthorizationViewControllerDelegate { public func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: ((PKPaymentAuthorizationStatus) -> Void)) { completion(PKPaymentAuthorizationStatus.Success) } public func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) { controller.dismissViewControllerAnimated(true, completion: nil) } } 中的代码:

tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)

2 个答案:

答案 0 :(得分:0)

您无法使用imageView的框架宽度作为新宽度的基础。你需要使用一个常数值,也许是高度。

答案 1 :(得分:0)

重复使用Yup单元格,从这个方法发布整个代码会很好,特别是你创建单元格的部分。

从我收集的内容中,您是否尝试从缓存加载图像,如果不是,则从Internet加载它。此解决方案的问题是当您没有图像时,您会呈现一些存根宽高比的存根图像。当真实图像加载完成后,它将被放置在UIImageView内,而不会调整大小。

有两种方法可以做到这一点。一种是具有恒定的图像尺寸。另一种是在加载新图像时重新加载单元格。