@@ -10,6 +10,10 @@ import UIKit
1010import Kingfisher
1111import TrySwiftData
1212
13+ protocol SpeakerImageDelegate : class {
14+ func didTapSpeakerImage( forSpeaker speaker: Speaker )
15+ }
16+
1317class SpeakerTableViewCell : UITableViewCell {
1418
1519 @IBOutlet weak var speakerImageView : UIImageView !
@@ -18,10 +22,14 @@ class SpeakerTableViewCell: UITableViewCell {
1822
1923 fileprivate var speaker : Speaker ?
2024 fileprivate weak var delegate : TwitterFollowDelegate ?
25+ fileprivate weak var speakerImageDelegate : SpeakerImageDelegate ?
2126
2227 override func awakeFromNib( ) {
2328 super. awakeFromNib ( )
2429 speakerTwitterButton. setTitleColor ( . trySwiftAccentColor( ) , for: . normal)
30+ speakerImageView. addGestureRecognizer (
31+ UITapGestureRecognizer ( target: self , action: #selector( didTapSpeakerImage) )
32+ )
2533 }
2634
2735
@@ -33,7 +41,7 @@ class SpeakerTableViewCell: UITableViewCell {
3341 self . delegate? . followUser ( speaker. twitter)
3442 }
3543
36- func configure( withSpeaker speaker: Speaker , selectionEnabled: Bool = true , accessoryEnabled: Bool = true , delegate: TwitterFollowDelegate ) {
44+ func configure( withSpeaker speaker: Speaker , selectionEnabled: Bool = true , accessoryEnabled: Bool = true , delegate: TwitterFollowDelegate , speakerImageDelegate : SpeakerImageDelegate ? ) {
3745 let scale = UIScreen . main. scale
3846 let processor = RoundCornerImageProcessor ( cornerRadius: 34 , targetSize: CGSize ( width: 67 , height: 67 ) )
3947 speakerImageView. kf. setImage ( with: speaker. imageURL, placeholder: nil , options: [ . processor( processor) , . scaleFactor( scale) ] )
@@ -52,5 +60,12 @@ class SpeakerTableViewCell: UITableViewCell {
5260
5361 self . speaker = speaker
5462 self . delegate = delegate
63+ self . speakerImageDelegate = speakerImageDelegate
64+ }
65+
66+ @objc
67+ func didTapSpeakerImage( ) {
68+ guard let speaker = speaker else { return }
69+ self . speakerImageDelegate? . didTapSpeakerImage ( forSpeaker: speaker)
5570 }
5671}
0 commit comments