123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- //
- // MessageActivityTableCell.swift
- // RainbowPlanet
- //
- // Created by Christopher on 2019/6/11.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- // 星球活动のCell
- import UIKit
- import RxSwift
- import RxCocoa
- class MessageActivityTableCell: UITableViewCell {
-
- let disposeBag = DisposeBag()
-
- typealias ActivityClosure = () -> Void
- var activityClosure : ActivityClosure?
-
- class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageActivityTableCell {
- let ID = "MessageActivityTableCell"
- tableView.register(MessageActivityTableCell.self, forCellReuseIdentifier: ID)
- let cell : MessageActivityTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageActivityTableCell
- cell.indexPath = indexPath
- return cell
- }
-
- override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- setupViews()
- setupLayouts()
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- var indexPath: IndexPath? {
- didSet {
-
- }
- }
-
- //MRAK: - 设置View
- private func setupViews() {
- self.selectionStyle = .none
- backgroundColor = kf7f8faColor
-
- addSubview(timeLabel)
- addSubview(activityView)
- activityView.addSubview(actImageView)
- activityView.addSubview(titleLabel)
- activityView.addSubview(subLabel)
- activityView.addSubview(itemButton)
- }
-
- private func setupLayouts() {
- timeLabel.snp.makeConstraints { (make) in
- make.top.equalTo(16)
- make.centerX.equalToSuperview()
- make.width.equalTo(90)
- make.height.equalTo(20)
- }
- activityView.snp.makeConstraints { (make) in
- make.top.equalTo(timeLabel.snp_bottom).offset(16)
- make.left.equalTo(23)
- make.right.equalTo(-23)
- make.height.equalTo(160)
- }
- actImageView.snp.makeConstraints { (make) in
- make.edges.equalToSuperview()
- }
- titleLabel.snp.makeConstraints { (make) in
- make.top.equalTo(103)
- make.left.equalTo(14)
- make.right.equalTo(-14)
- make.height.equalTo(21)
- }
- subLabel.snp.makeConstraints { (make) in
- make.top.equalTo(titleLabel.snp_bottom).offset(6)
- make.left.equalTo(titleLabel.snp_left)
- make.right.equalTo(titleLabel.snp_right)
- make.height.equalTo(17)
- }
- itemButton.snp.makeConstraints { (make) in
- make.edges.equalToSuperview()
- }
- }
-
- private lazy var timeLabel: UILabel = {
- let timeLabel = UILabel()
- timeLabel.backgroundColor = kRGBAColor(r: 0/255.0, g: 0/255.0, b: 0/255.0, a: 0.1)
- timeLabel.text = "05-16 20:03"
- timeLabel.textColor = kffffffColor
- timeLabel.font = kRegularFont12
- timeLabel.textAlignment = .center
- timeLabel.cornerRadius = 2
- timeLabel.masksToBounds = true
- return timeLabel
- }()
-
- private lazy var activityView: UIView = {
- let activityView = UIView()
- activityView.cornerRadius = 4
- activityView.masksToBounds = true
- return activityView
- }()
-
- lazy var actImageView : UIImageView = {
- let actImageView = UIImageView()
- actImageView.image = kImage(name: "page05")
- return actImageView
- }()
-
- private lazy var titleLabel: UILabel = {
- let titleLabel = UILabel()
- titleLabel.text = "我就是一个用来测一测的Title"
- titleLabel.textColor = kffffffColor
- titleLabel.font = kRegularFont15
- titleLabel.textAlignment = .left
- return titleLabel
- }()
-
- private lazy var subLabel: UILabel = {
- let subLabel = UILabel()
- subLabel.text = "活动时间:2019/5/19~2019/5/20"
- subLabel.textColor = kffffffColor
- subLabel.font = kRegularFont12
- subLabel.textAlignment = .left
- return subLabel
- }()
-
- private lazy var itemButton: UIButton = {
- let itemButton = UIButton(type: UIButton.ButtonType.custom)
- itemButton.rx.tap.subscribe(onNext: { [weak self] (data) in
- if let activityClosure = self?.activityClosure {
- activityClosure()
- }
- }).disposed(by: disposeBag)
- return itemButton
- }()
-
- }
|