private let reelsView: VideoReelsView = {
let view = VideoReelsView.view()
return view
}()
self.reelsView.reloadAll(items: [
VideoReelsBaseItem(
idx: "\(idx)",
url: URL(string: "비디오 URL"),
isMuted: false
)
])
self.reelsView.reload(items: [
VideoReelsBaseItem(
idx: "\(idx)",
url: URL(string: "비디오 URL"),
isMuted: false
)
])
var idxs = Set<String>()
idxs.insert("2")
self.reelsView.delete(idxs: idxs)
let items: [VideoReelsBaseItem] = [
.init(
idx: "11",
url: URL(string: "비디오 URL"),
isMuted: false
),
.init(
idx: "12",
url: URL(string: "비디오 URL"),
isMuted: false
)
]
self.reelsView.insert(items: items)
self.reelsView.moveToPage(3, animated: true)
self.reelsView.register(ReelsCell.self, itemType: ReelsItem.self)
struct ReelsItem: VideoReelsItem {
var idx: String
var url: URL?
var isMuted: Bool
var name: String
}
final class ReelsCell: VideoReelsCollectionViewCell {
// MARK: - UI Components
private let nameLabel: UILabel = {
let label = UILabel()
label.textColor = .white
return label
}()
// MARK: - Override
override func addSubViews() {
super.addSubViews()
self.contentView.addSubview(self.nameLabel)
}
override func makeConstraints() {
super.makeConstraints()
self.nameLabel.translatesAutoresizingMaskIntoConstraints = false
self.nameLabel.topAnchor.constraint(equalTo: self.contentView.topAnchor, constant: 15).isActive = true
self.nameLabel.leftAnchor.constraint(equalTo: self.contentView.leftAnchor, constant: 15).isActive = true
}
override func configure(event: VideoReelsEvent) {
super.configure(event: event)
print("## event \(event)")
}
override func configure(item: VideoReelsItem) {
super.configure(item: item)
print("## item \(item)")
if let reelsItem = item as? ReelsItem {
self.nameLabel.text = reelsItem.name
}
}
}
link |
Stars: 0 |
Last commit: 2 years ago |
우선순위 로직 수정
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics