//
|
// ListenFight_Game_CCell.swift
|
// DolphinEnglishLearnStudent
|
//
|
// Created by 无故事王国 on 2024/5/28.
|
//
|
|
import UIKit
|
import Lantern
|
|
class ListenFight_Game_CCell: UICollectionViewCell {
|
|
@IBOutlet weak var view_container: UIView!
|
@IBOutlet weak var view_top: UIView!
|
@IBOutlet weak var img_state: UIImageView!
|
@IBOutlet weak var img_cover: UIImageView!
|
@IBOutlet weak var view_grayHeiCons: NSLayoutConstraint!
|
@IBOutlet weak var img_statusWeight: NSLayoutConstraint!
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
img_state.alpha = 0
|
}
|
|
func setState(state:Fight_lessonType){
|
img_state.alpha = 0
|
img_state.transform = .init(scaleX: 0.1, y: 0.1)
|
img_state.layoutIfNeeded()
|
switch state {
|
case .success:
|
img_state.image = UIImage(named: "icon_success")
|
UIView.animate(withDuration: 0.6, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0.4, options: .layoutSubviews) {
|
self.img_state.alpha = 1
|
self.img_state.transform = .init(scaleX: 1, y: 1)
|
}
|
DispatchQueue.main.asyncAfter(deadline: .now()+1) {
|
UIView.animate(withDuration: 0.6) {
|
self.img_state.alpha = 0
|
self.img_state.transform = .init(scaleX: 0.1, y: 0.1)
|
}
|
}
|
case .fail:
|
img_state.image = UIImage(named: "icon_fail")
|
UIView.animate(withDuration: 0.6, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0.4, options: .layoutSubviews) {
|
self.img_state.alpha = 1
|
self.img_state.transform = .init(scaleX: 1, y: 1)
|
}
|
DispatchQueue.main.asyncAfter(deadline: .now()+1) {
|
UIView.animate(withDuration: 0.6) {
|
self.img_state.alpha = 0
|
self.img_state.transform = .init(scaleX: 0.1, y: 0.1)
|
}
|
}
|
case .none:
|
img_state.alpha = 0
|
img_state.transform = .init(scaleX: 0.1, y: 0.1)
|
}
|
}
|
|
func setModel(_ m:Listen1SubModel){
|
img_cover.sd_setImage(with: URL(string: m.img))
|
}
|
|
@IBAction func fullScreenAction(_ sender: UIButton) {
|
|
let lantern = Lantern()
|
lantern.numberOfItems = { () in
|
return 1
|
}
|
|
lantern.cellClassAtIndex = { _ in
|
LanternImageCell.self
|
}
|
|
|
lantern.transitionAnimator = LanternZoomAnimator(previousView: { [weak self] index -> UIView? in
|
return self?.img_cover
|
})
|
|
|
// UIPageIndicator样式的页码指示器
|
lantern.pageIndicator = LanternDefaultPageIndicator()
|
|
lantern.pageIndex = 0
|
|
lantern.reloadCellAtIndex = { context in
|
let lanternCell = context.cell as? LanternImageCell
|
lanternCell?.imageView.image = self.img_cover.image
|
}
|
//不要使用push
|
lantern.show()
|
}
|
|
override func layoutSubviews() {
|
super.layoutSubviews()
|
view_top.jq_addCorners(corner: [.topLeft,.topRight], radius: 8)
|
jq_cornerRadius = 8
|
view_grayHeiCons.constant = (self.width - 10) * 0.1667
|
img_statusWeight.constant = self.width * 0.2333
|
}
|
}
|