1
我製作了自定義單元格,應該只有一個UIImageView
。電池應更改爲適合圖像的高度,當圖像被改變:尤里卡:自定義行的動態高度
import UIKit
import Eureka
public class FirebaseImageCell: Cell<UIImage>, CellType{
@IBOutlet weak var customImageView: UIImageView!
public override func setup() {
super.setup()
}
public override func update() {
super.update()
guard let image = row.value else { return }
customImageView.image = image
guard let cellWidth = UIApplication.shared.keyWindow?.frame.width else { return }
height = { cellWidth * (image.size.height/image.size.width) }
}
}
public final class FirebaseImageRow: Row<FirebaseImageCell>, RowType {
required public init(tag: String?) {
super.init(tag: tag)
cellProvider = CellProvider<FirebaseImageCell>(nibName: "FirebaseImageCell")
}
}
我創建的行這樣的:
let image = UIImage(named: "testImage")!
let testSection = Section("Test Section")
<<< FirebaseImageRow("firebaseImageRow") { row in
row.value = image
}
form +++ testSection
在某一點上我想更改單元格中的圖像,並且單元格應該改變它的高度以適合圖像。在這裏,我改變形象:
func imageChange() {
guard let imageRow = form.rowBy(tag: "firebaseImageRow") as? FirebaseImageRow else { return }
let image = UIImage(named: "testImage2")
imageRow.value = image
imageRow.updateCell()
}
當窗體初始化的細胞得到正確的高度,fittet爲「testImage」,但圖像被改變後的高度保持不變。
如何讓細胞動態地改變它的高度?