我有一个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)
答案 0 :(得分:0)
您无法使用imageView的框架宽度作为新宽度的基础。你需要使用一个常数值,也许是高度。
答案 1 :(得分:0)
重复使用Yup单元格,从这个方法发布整个代码会很好,特别是你创建单元格的部分。
从我收集的内容中,您是否尝试从缓存加载图像,如果不是,则从Internet加载它。此解决方案的问题是当您没有图像时,您会呈现一些存根宽高比的存根图像。当真实图像加载完成后,它将被放置在UIImageView
内,而不会调整大小。
有两种方法可以做到这一点。一种是具有恒定的图像尺寸。另一种是在加载新图像时重新加载单元格。