123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- //
- // MessageCommentTableCell.swift
- // RainbowPlanet
- //
- // Created by Christopher on 2019/6/11.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- class MessageListTableCell: UITableViewCell {
-
- class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageListTableCell {
- let ID = "MessageListTableCell"
- tableView.register(MessageListTableCell.self, forCellReuseIdentifier: ID)
- let cell : MessageListTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageListTableCell
- 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 = kffffffColor
-
- addSubview(typeImageView)
- addSubview(contentImageView)
- addSubview(titleLabel)
- addSubview(contentLabel)
- addSubview(timeLabel)
- addSubview(sepView)
- }
-
- private func setupLayouts() {
- typeImageView.snp.makeConstraints { (make) in
- make.top.equalTo(16)
- make.left.equalTo(14)
- make.size.equalTo(24)
- }
- contentImageView.snp.makeConstraints { (make) in
- make.top.equalTo(16)
- make.right.equalTo(-14)
- make.size.equalTo(60)
- }
- titleLabel.snp.makeConstraints { (make) in
- make.top.equalTo(16)
- make.left.equalTo(typeImageView.snp_right).offset(16)
- make.right.equalTo(contentImageView.snp_left).offset(-16)
- make.height.greaterThanOrEqualTo(20)
- }
- contentLabel.snp.makeConstraints { (make) in
- make.top.equalTo(titleLabel.snp_bottom).offset(8)
- make.left.equalTo(titleLabel.snp_left)
- make.right.equalTo(titleLabel.snp_right)
- }
- timeLabel.snp.makeConstraints { (make) in
- make.top.equalTo(contentLabel.snp_bottom).offset(8)
- make.left.equalTo(titleLabel.snp_left)
- make.height.equalTo(17)
- }
- sepView.snp.makeConstraints { (make) in
- make.top.equalTo(timeLabel.snp_bottom).offset(16)
- make.right.equalToSuperview()
- make.left.equalToSuperview().offset(54)
- make.height.equalTo(1)
- make.bottom.equalToSuperview()
- }
- }
-
- lazy var typeImageView : UIImageView = {
- let typeImageView = UIImageView()
- typeImageView.contentMode = .scaleAspectFill
- return typeImageView
- }()
-
- private lazy var titleLabel: FMLinkLabel = {
- let titleLabel = FMLinkLabel()
- titleLabel.numberOfLines = 0
- titleLabel.textColor = k999999Color
- titleLabel.font = kBoldFont14
- return titleLabel
- }()
-
- private lazy var contentLabel: UILabel = {
- let contentLabel = UILabel()
- contentLabel.text = "”大师果然厉害,不愧是牛逼之人“"
- contentLabel.textColor = k999999Color
- contentLabel.font = kRegularFont13
- contentLabel.textAlignment = .left
- contentLabel.numberOfLines = 0
- return contentLabel
- }()
-
- private lazy var timeLabel: UILabel = {
- let timeLabel = UILabel()
- timeLabel.textColor = kbbbbbbColor
- timeLabel.font = kRegularFont12
- timeLabel.textAlignment = .left
- return timeLabel
- }()
-
- lazy var contentImageView : UIImageView = {
- let contentImageView = UIImageView()
- contentImageView.image = kImage(name: "default_pic")
- contentImageView.cornerRadius = 4
- contentImageView.masksToBounds = true
- contentImageView.contentMode = .scaleAspectFill
- return contentImageView
- }()
-
- private lazy var sepView: UIView = {
- let sepView = UIView()
- sepView.backgroundColor = kf5f5f5Color
- return sepView
- }()
-
- var messageDataModel : MessageDataModel? {
- didSet {
- //6评论消息
- if MessageShowType.postComment == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 6) {
- typeImageView.image = kImage(name: "news_comment")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 评论了 ", Three: "你的作品")
- contentLabel.text = "“\(messageDataModel?.param?.content ?? "")”"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
- }
- //7回复消息
- if MessageShowType.postReply == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 7) {
- typeImageView.image = kImage(name: "news_comment")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 回复了 ", Three: "你的评论")
- contentLabel.text = "“\(messageDataModel?.param?.content ?? "")”"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
- }
- //8回复@ 消息;
- if MessageShowType.postReplyMain == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 8) {
- typeImageView.image = kImage(name: "news_@")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " @你 ", Three: "在评论中")
- contentLabel.text = "“\(messageDataModel?.param?.content ?? "")”"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
- }
- //9攒内容消息
- if MessageShowType.postLike == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 9) {
- typeImageView.image = kImage(name: "star_detail_like")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 赞了 ", Three: "你的内容")
- contentLabel.text = "\(messageDataModel?.param?.content ?? "")"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
-
- }
- //10收藏内容消息
- if MessageShowType.postCollect == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 10) {
- typeImageView.image = kImage(name: "star_detail_attention")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 收藏 ", Three: "你的内容")
- contentLabel.text = "\(messageDataModel?.param?.content ?? "")"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
-
- }
-
- //11分享内容消息
- if MessageShowType.postShare == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 10) {
- typeImageView.image = kImage(name: "star_detail_share")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 转发 ", Three: "你的内容")
- contentLabel.text = "\(messageDataModel?.param?.content ?? "")"
- contentImageViewConstraint(size: 60, cornerRadius: 4)
-
- }
- //12关注消息
- if MessageShowType.follow == MessageShowType(rawValue: messageDataModel?.messageShowType ?? 12) {
- typeImageView.image = kImage(name: "star_detail_read")
- setTitleLabel(oneStr: (messageDataModel?.param?.userName ?? ""), twoStr: " 关注了你", Three: "")
- contentLabel.text = "\(messageDataModel?.param?.content ?? "")"
- contentImageViewConstraint(size: 44, cornerRadius: 22)
-
- }
- timeLabel.text = messageDataModel?.createdAt
- contentImageView.kf.setImage(with: kURLThumbnailsImage(name: messageDataModel?.param?.cover ?? "", size: kSize44x44Image), placeholder: kImage(name: "default_pic"))
- }
- }
-
- typealias ClickTextBlock = () -> Void
- var clickTextBlock : ClickTextBlock?
-
- func setTitleLabel(oneStr:String,twoStr:String,Three:String) {
- self.titleLabel.text = oneStr + twoStr + Three
- if oneStr != "" {
- self.titleLabel.addClickText(oneStr, attributeds: [NSAttributedString.Key.foregroundColor:k333333Color], transmitBody: nil) {
- [weak self] (data) in
- if MessageShowType.follow == MessageShowType(rawValue: self?.messageDataModel?.messageShowType ?? 12) {
- if self?.messageDataModel?.param?.uid != UserModel.shared().getModel()?.uid {
- let vc = OtherPersonalCenterViewController()
- vc.uid = self?.messageDataModel?.param?.uid ?? 0
- self?.findViewController()?.navigationController?.pushViewController(vc, animated: true)
- }
- }
- }
- }
- if Three != "" {
- self.titleLabel.addClickText(Three, attributeds: [NSAttributedString.Key.foregroundColor:k333333Color], transmitBody: nil) { (data) in
-
- }
- }
-
- }
-
- /// 设置 内容图片
- func contentImageViewConstraint(size:CGFloat,cornerRadius:CGFloat) {
- contentImageView.snp.remakeConstraints { (make) in
- make.top.equalTo(16)
- make.right.equalTo(-14)
- make.size.equalTo(size)
- }
- contentImageView.cornerRadius = cornerRadius
- contentImageView.masksToBounds = true
- }
-
- }
|