aboutsummaryrefslogtreecommitdiff
path: root/foray/ForayDetailViewController.swift
diff options
context:
space:
mode:
authorNicholas Tay <nick@windblume.net>2022-03-19 13:50:15 +1100
committerNicholas Tay <nick@windblume.net>2022-03-19 13:50:15 +1100
commit61452377e01956205293883d4e1222c1ed2651cf (patch)
tree9cc7bcad5abce098e3651eff8b8e09192b7a3865 /foray/ForayDetailViewController.swift
parentf61362258fc9906eec44e8aa3095757f1cb2df45 (diff)
downloadforayios-61452377e01956205293883d4e1222c1ed2651cf.tar.gz
forayios-61452377e01956205293883d4e1222c1ed2651cf.tar.bz2
forayios-61452377e01956205293883d4e1222c1ed2651cf.zip
Merge ForayNewDetailView into the VC itself
Not sure if this is the right move, but it felt extraneous to have a whole UIView to itself for now. Instead just have it right inside the VC. Probably a step in the wrong direction though, but will need to review.
Diffstat (limited to 'foray/ForayDetailViewController.swift')
-rw-r--r--foray/ForayDetailViewController.swift76
1 files changed, 71 insertions, 5 deletions
diff --git a/foray/ForayDetailViewController.swift b/foray/ForayDetailViewController.swift
index 92abef1..8d0b9ec 100644
--- a/foray/ForayDetailViewController.swift
+++ b/foray/ForayDetailViewController.swift
@@ -9,22 +9,88 @@ import UIKit
class ForayDetailViewController: UIViewController {
- let detailView: ForayNewDetailView = ForayNewDetailView(frame: CGRect.zero)
+ let container: UIView = UIView()
+
+ let nameLabel: UILabel = {
+ let l = UILabel()
+ l.font = UIFont.preferredFont(forTextStyle: .largeTitle)
+ l.adjustsFontForContentSizeCategory = true
+ l.numberOfLines = 3
+ l.textAlignment = .center
+ return l
+ }()
+
+ let itemImageView: UIImageView = {
+ let iv = UIImageView()
+ iv.contentMode = .scaleAspectFit
+ return iv
+ }()
+
+ let descLabel: UILabel = {
+ let l = UILabel()
+ l.font = UIFont.preferredFont(forTextStyle: .body)
+ l.adjustsFontForContentSizeCategory = true
+ l.numberOfLines = 10
+ return l
+ }()
override func viewDidLoad() {
super.viewDidLoad()
- self.title = "Details"
+ self.title = "Details"
self.view.backgroundColor = .systemBackground
- self.view.addSubview(detailView)
- detailView.snp.makeConstraints { (make) in
+ initialiseViews()
+ }
+
+ private func initialiseViews() {
+ self.view.addSubview(container)
+
+ container.addSubview(nameLabel)
+ container.addSubview(itemImageView)
+ container.addSubview(descLabel)
+
+ setupConstraints()
+ }
+
+ private func setupConstraints() {
+ container.snp.makeConstraints { (make) in
make.edges.equalTo(self.view.snp.margins)
}
+
+ nameLabel.snp.makeConstraints { (make) in
+ make.top.equalToSuperview().inset(8)
+ make.leading.trailing.equalToSuperview().inset(8)
+ }
+ itemImageView.snp.makeConstraints { (make) in
+ make.top.equalTo(nameLabel.snp.bottom).offset(32)
+ make.leading.trailing.equalToSuperview()
+ make.height.equalTo(150)
+ }
+ descLabel.snp.makeConstraints { (make) in
+ make.top.equalTo(itemImageView.snp.bottom).offset(32)
+ make.leading.trailing.equalToSuperview()
+ }
}
public func setSelectedItem(selectedItem: PenguinItem) {
- detailView.setSelectedItem(selectedItem: selectedItem)
+ nameLabel.text = selectedItem.name
+ itemImageView.image = UIImage(named: selectedItem.id)
+
+ descLabel.text = "Type: "
+ switch selectedItem.type {
+ case .item:
+ descLabel.text! += "Item"
+ case .quest:
+ descLabel.text! += "Quest"
+ itemImageView.image = UIImage(named: "spy")
+ }
+
+ descLabel.text! += "\nID: " + selectedItem.id
+
+ let dateFormatter = DateFormatter()
+ dateFormatter.dateFormat = "yyyy-MM-dd"
+ descLabel.text! += "\nReleased: " + dateFormatter.string(from: selectedItem.releaseDate)
}
}