我创建了一个UITableviewCell的子类,它由多个UIimageview组成。 我正在制作UIImageviews的alpha属性。最初我将该Imageviews的alpha属性设置为0,然后在动画块中将alpha属性设置为1。 我的问题是,当我再次加载该单元格时,它首先显示所有图像视图,然后将它们的alpha属性设置为0,因此在动画块中再次设置为1.当我重新加载该特定单元格时,有任何方式,所以在显示之前,我将其alpha属性设置为零。
class EditProfileTableviewCell:UITableViewCell{
@IBOutlet weak var ibUpdatePicImageVIew: UIImageView!
@IBOutlet weak var ibUpdatePicImageview3: UIImageView!
@IBOutlet weak var ibUpdatePicImageview2: UIImageView!
override func prepareForReuse() {
print("reuse called")
if let _ = ibUpdatePicImageVIew, _ = ibUpdatePicImageview2 {
print("initial configuration")
ibUpdatePicImageVIew.alpha = 0
ibUpdatePicImageVIew.alpha2 = 0
ibUpdatePicImageVIew.alpha3 = 0
}
}
override func awakeFromNib() {
print("loaded")
if let _ = ibUpdatePicImageVIew, _ = ibUpdatePicImageview2 {
print("initial configuration")
ibUpdatePicImageVIew.alpha = 0
ibUpdatePicImageVIew.alpha2 = 0
ibUpdatePicImageVIew.alpha3 = 0
}
}
}
// willDisplayCell Method
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
delay(0.2, closure: {
let frame = cell.ibUpdatePicImageVIew.frame
cell.ibUpdatePicImageVIew.frame = CGRectMake(0, 0, 0, 0)
cell.ibUpdatePicImageVIew.alpha = 0
cell.ibUpdatePicImageVIew.alpha2 = 0
cell.ibUpdatePicImageVIew.alpha3 = 0
UIView.animateWithDuration(0.3, animations: {
cell.ibUpdatePicImageVIew.frame = frame
cell.ibUpdatePicImageVIew.alpha = 1
})
})
}