-
Notifications
You must be signed in to change notification settings - Fork 0
/
SpecificDetailView.swift
139 lines (116 loc) · 5.78 KB
/
SpecificDetailView.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//
// SpecificDetailView.swift
// Wanderlust
//
// Created by Mihikaa Goenka on 8/10/19.
// Copyright © 2019 Mihikaa Goenka. All rights reserved.
//
import UIKit
class SpecificDetailView: UIViewController {
var placeTitleView: UITextField!
var placeAddressView: UITextView!
var placeDescriptionView: UITextView!
var pictureView: UIImageView!
var locationIcon: UIImageView!
var placeTitle: String
var placeLocation: String
var placeType: Choice
var address: String
var placeDescription: String
var placeImage: UIImage!
init(placeTitle: String, placeLocation: String, placeType: Choice, placeDescription: String, placeImage: UIImage, address: String) {
self.placeTitle = placeTitle
self.placeType = placeType
self.placeLocation = placeLocation
self.placeDescription = placeDescription
self.placeImage = placeImage
self.address = address
super.init(nibName: nil, bundle: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
title = "About"
placeTitleView = UITextField()
placeTitleView.layer.cornerRadius = 12
placeTitleView.translatesAutoresizingMaskIntoConstraints = false
placeTitleView.backgroundColor = UIColor(red: 0.93, green: 0.93, blue: 0.93, alpha: 1)
placeTitleView.textColor = .black
placeTitleView.textAlignment = .center
placeTitleView.text = String(describing: placeType).localizedUppercase + ": " + placeTitle
placeTitleView.sizeToFit()
placeTitleView.font = UIFont(name: "AvenirNext-Medium", size: 20)
view.addSubview(placeTitleView)
placeAddressView = UITextView()
placeAddressView.backgroundColor = .white
placeAddressView.textColor = .gray
placeAddressView.layer.cornerRadius = 12
placeAddressView.translatesAutoresizingMaskIntoConstraints = false
placeAddressView.text = address + ", " + placeLocation
placeAddressView.isEditable = false
placeAddressView.isScrollEnabled = true
placeAddressView.sizeToFit()
placeAddressView.font = UIFont(name: "AvenirNext-Regular", size: 17)
view.addSubview(placeAddressView)
placeDescriptionView = UITextView()
placeDescriptionView.backgroundColor = .white
placeDescriptionView.layer.cornerRadius = 12
placeDescriptionView.textColor = .gray
placeDescriptionView.translatesAutoresizingMaskIntoConstraints = false
placeDescriptionView.text = placeDescription
placeDescriptionView.isEditable = false
placeDescriptionView.isScrollEnabled = false
placeDescriptionView.sizeToFit()
placeDescriptionView.font = UIFont(name: "AvenirNext-Regular", size: 17)
view.addSubview(placeDescriptionView)
pictureView = UIImageView()
pictureView.image = placeImage
pictureView.backgroundColor = .white
pictureView.layer.cornerRadius = 15
pictureView.translatesAutoresizingMaskIntoConstraints = false
pictureView.clipsToBounds = true
pictureView.layer.cornerRadius = 12
pictureView.contentMode = .scaleAspectFit
view.addSubview(pictureView)
locationIcon = UIImageView(image: UIImage(named:"maps_us_black"))
locationIcon.tintColor = .gray
locationIcon.translatesAutoresizingMaskIntoConstraints = false
locationIcon.contentMode = .scaleAspectFit
view.addSubview(locationIcon)
setUpConstraints()
}
func setUpConstraints() {
NSLayoutConstraint.activate([
placeTitleView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -310),
placeTitleView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20),
placeTitleView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20),
placeTitleView.heightAnchor.constraint(equalToConstant: 50)
])
NSLayoutConstraint.activate([
locationIcon.topAnchor.constraint(equalTo: placeTitleView.bottomAnchor, constant: 25),
locationIcon.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20),
locationIcon.heightAnchor.constraint(equalToConstant: 25),
locationIcon.widthAnchor.constraint(equalToConstant: 23)
])
NSLayoutConstraint.activate([
placeAddressView.topAnchor.constraint(equalTo: placeTitleView.bottomAnchor, constant: 25),
placeAddressView.leadingAnchor.constraint(equalTo: locationIcon.trailingAnchor, constant: 5),
placeAddressView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20),
placeAddressView.heightAnchor.constraint(equalToConstant: 50)
])
NSLayoutConstraint.activate([
placeDescriptionView.topAnchor.constraint(equalTo: locationIcon.bottomAnchor, constant: 40),
placeDescriptionView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20),
placeDescriptionView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20)
])
NSLayoutConstraint.activate([
pictureView.topAnchor.constraint(equalTo: placeDescriptionView.bottomAnchor, constant: 16),
pictureView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20),
pictureView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20),
pictureView.heightAnchor.constraint(equalToConstant: 300)
])
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}