initial
This commit is contained in:
69
Pods/SwiftEntryKit/Source/MessageViews/MessagesUtils/EKRatingSymbolView.swift
generated
Normal file
69
Pods/SwiftEntryKit/Source/MessageViews/MessagesUtils/EKRatingSymbolView.swift
generated
Normal file
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// EKRatingSymbolView.swift
|
||||
// SwiftEntryKit
|
||||
//
|
||||
// Created by Daniel Huri on 6/1/18.
|
||||
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
final public class EKRatingSymbolView: UIView {
|
||||
|
||||
private let button = UIButton()
|
||||
private let imageView = UIImageView()
|
||||
|
||||
private let unselectedImage: EKProperty.ImageContent
|
||||
private let selectedImage: EKProperty.ImageContent
|
||||
|
||||
var selection: EKRatingMessage.Selection
|
||||
|
||||
public var isSelected: Bool {
|
||||
set {
|
||||
imageView.imageContent = newValue ? selectedImage : unselectedImage
|
||||
}
|
||||
get {
|
||||
return imageView.image == selectedImage.images.first
|
||||
}
|
||||
}
|
||||
|
||||
public init(unselectedImage: EKProperty.ImageContent, selectedImage: EKProperty.ImageContent, selection: @escaping EKRatingMessage.Selection) {
|
||||
self.unselectedImage = unselectedImage
|
||||
self.selectedImage = selectedImage
|
||||
self.selection = selection
|
||||
super.init(frame: .zero)
|
||||
setupImageView()
|
||||
setupButton()
|
||||
}
|
||||
|
||||
required public init?(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
private func setupButton() {
|
||||
addSubview(button)
|
||||
button.fillSuperview()
|
||||
button.addTarget(self, action: #selector(touchUpInside), for: .touchUpInside)
|
||||
button.addTarget(self, action: #selector(touchDown), for: [.touchDown])
|
||||
button.addTarget(self, action: #selector(touchUp), for: [.touchUpInside, .touchUpOutside, .touchCancel])
|
||||
}
|
||||
|
||||
private func setupImageView() {
|
||||
addSubview(imageView)
|
||||
imageView.imageContent = unselectedImage
|
||||
imageView.centerInSuperview()
|
||||
imageView.sizeToSuperview(withRatio: 0.7)
|
||||
}
|
||||
|
||||
@objc func touchUpInside() {
|
||||
selection(tag)
|
||||
}
|
||||
|
||||
@objc func touchDown() {
|
||||
transform = CGAffineTransform(scaleX: 1.15, y: 1.15)
|
||||
}
|
||||
|
||||
@objc func touchUp() {
|
||||
transform = CGAffineTransform(scaleX: 1, y: 1)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user