diff --git a/Yep/Views/Cells/ChatBaseCell/ChatBaseCell.swift b/Yep/Views/Cells/ChatBaseCell/ChatBaseCell.swift index 8e0b18b0..4067fb56 100644 --- a/Yep/Views/Cells/ChatBaseCell/ChatBaseCell.swift +++ b/Yep/Views/Cells/ChatBaseCell/ChatBaseCell.swift @@ -9,14 +9,7 @@ import UIKit class ChatBaseCell: UICollectionViewCell { - - @IBOutlet weak var avatarImageView: UIImageView! - - var user: User? - var tapAvatarAction: ((user: User) -> Void)? - - var deleteMessageAction: (() -> Void)? - + lazy var nameLabel: UILabel = { let label = UILabel(frame: CGRectZero) label.font = UIFont.systemFontOfSize(10) @@ -26,21 +19,42 @@ class ChatBaseCell: UICollectionViewCell { return label }() + lazy var avatarImageView: UIImageView = { + let imageView = UIImageView() + + imageView.frame = CGRect(x: 15, y: 0, width: 40, height: 40) + + imageView.contentMode = .ScaleAspectFit + + let tapAvatar = UITapGestureRecognizer(target: self, action: "tapAvatar:") + imageView.userInteractionEnabled = true + imageView.addGestureRecognizer(tapAvatar) + + return imageView + }() + + var user: User? + var tapAvatarAction: ((user: User) -> Void)? + + var deleteMessageAction: (() -> Void)? + deinit { NSNotificationCenter.defaultCenter() } - override func awakeFromNib() { - super.awakeFromNib() + override init(frame: CGRect) { + super.init(frame: frame) - avatarImageView.userInteractionEnabled = true - let tap = UITapGestureRecognizer(target: self, action: "tapAvatar") - avatarImageView.addGestureRecognizer(tap) + contentView.addSubview(avatarImageView) NSNotificationCenter.defaultCenter().addObserver(self, selector: "menuWillShow:", name: UIMenuControllerWillShowMenuNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "menuWillHide:", name: UIMenuControllerWillHideMenuNotification, object: nil) } + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + var prepareForMenuAction: ((otherGesturesEnabled: Bool) -> Void)? @objc func menuWillShow(notification: NSNotification) {