aboutsummaryrefslogtreecommitdiff
path: root/foray/Scenes/ForayNewTableViewCell.swift
diff options
context:
space:
mode:
authorNicholas Tay <nick@windblume.net>2022-03-24 16:32:23 +1100
committerNicholas Tay <nick@windblume.net>2022-03-24 16:32:23 +1100
commit1b292bc251b3dbef532dacad9705bd197ac4227b (patch)
tree1635ed0cc70922f6337d010b42e2119258877114 /foray/Scenes/ForayNewTableViewCell.swift
parent716724df0fee78a8976d5255096e000af29daad1 (diff)
downloadforayios-1b292bc251b3dbef532dacad9705bd197ac4227b.tar.gz
forayios-1b292bc251b3dbef532dacad9705bd197ac4227b.tar.bz2
forayios-1b292bc251b3dbef532dacad9705bd197ac4227b.zip
Reorganise into folder groups
In preparation for presenters to come in largely, lots of files starting to go everywhere...
Diffstat (limited to 'foray/Scenes/ForayNewTableViewCell.swift')
-rw-r--r--foray/Scenes/ForayNewTableViewCell.swift84
1 files changed, 84 insertions, 0 deletions
diff --git a/foray/Scenes/ForayNewTableViewCell.swift b/foray/Scenes/ForayNewTableViewCell.swift
new file mode 100644
index 0000000..224709a
--- /dev/null
+++ b/foray/Scenes/ForayNewTableViewCell.swift
@@ -0,0 +1,84 @@
+//
+// ForayNewTableViewCell.swift
+// foray
+//
+// Created by Nicholas Tay on 18/3/2022.
+//
+
+import UIKit
+import SnapKit
+
+class ForayNewTableViewCell: UITableViewCell {
+
+ let container: UIView = UIView()
+
+ let nameLabel: UILabel = {
+ let l = UILabel()
+ l.font = UIFont.preferredFont(forTextStyle: .headline)
+ l.numberOfLines = 3
+ l.adjustsFontForContentSizeCategory = true
+ return l
+ }()
+
+ let descLabel: UILabel = {
+ let l = UILabel()
+ l.font = UIFont.preferredFont(forTextStyle: .caption1)
+ l.adjustsFontForContentSizeCategory = true
+ return l
+ }()
+
+ let itemImageView: UIImageView = {
+ let iv = UIImageView()
+ iv.contentMode = .scaleAspectFit
+ return iv
+ }()
+
+ override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+ super.init(style: style, reuseIdentifier: reuseIdentifier)
+ initialiseViews()
+ }
+
+ required init?(coder: NSCoder) {
+ fatalError("unreachable")
+ }
+
+ private func initialiseViews() {
+ contentView.addSubview(container)
+ container.addSubview(nameLabel)
+ container.addSubview(descLabel)
+ container.addSubview(itemImageView)
+ setupConstraints()
+ }
+
+ private func setupConstraints() {
+ container.snp.makeConstraints { (make) in
+ make.edges.equalTo(contentView.snp.margins)
+ }
+
+ let imageWidth = 64
+ let imageHeight = 38
+ nameLabel.snp.makeConstraints { (make) in
+ make.top.equalToSuperview()
+ make.leading.equalToSuperview()
+ make.trailing.equalTo(itemImageView.snp.trailing).inset(imageWidth)
+ }
+ descLabel.snp.makeConstraints { (make) in
+ make.top.equalTo(nameLabel.snp.bottom)
+ make.leading.equalToSuperview()
+ make.bottom.equalToSuperview()
+ make.trailing.equalTo(itemImageView.snp.trailing).inset(imageWidth)
+ }
+ itemImageView.snp.makeConstraints { (make) in
+ make.top.equalToSuperview()
+ make.trailing.equalToSuperview()
+ make.width.equalTo(imageWidth)
+ make.height.equalTo(imageHeight)
+ }
+ }
+
+ public func setData(name: String, desc: String, img: UIImage) {
+ nameLabel.text = name
+ descLabel.text = desc
+ itemImageView.image = img
+ }
+}