Skip to content

Commit 3aed4e0

Browse files
author
Artsem Lemiasheuski
committed
Set contraints for documentViewController programmatically.
1 parent 68f115e commit 3aed4e0

2 files changed

Lines changed: 65 additions & 44 deletions

File tree

OpenDocumentReader/DocumentViewController.swift

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ class DocumentViewController: UIViewController, DocumentDelegate, GADBannerViewD
3434
private var EXTENSION_WHITELIST = ["pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "rtf", "rtfd.zip", "csv", "txt", "jpg", "jpeg", "png", "gif", "svg", "pages", "pages.zip", "numbers", "numbers.zip", "key", "key.zip", "mp3", "mp4", "flv", "mkv", "3gp", "aac", "bmp", "css", "htm", "html", "js", "json", "mpeg", "oga", "ogv", "sh", "tif", "tiff", "weba", "webm", "webp", "xhtml", "xml"]
3535

3636
@IBOutlet weak var toolBar: UIToolbar!
37-
@IBOutlet weak var searchBarTop: NSLayoutConstraint!
38-
@IBOutlet weak var searchBarHeight: NSLayoutConstraint!
3937
@IBOutlet weak var searchBar: UISearchBar!
4038
@IBOutlet weak var segmentedControl: ScrollableSegmentedControl!
4139
private var initialSelect = false
@@ -47,6 +45,9 @@ class DocumentViewController: UIViewController, DocumentDelegate, GADBannerViewD
4745
@IBOutlet weak var bannerViewHeight: NSLayoutConstraint!
4846
@IBOutlet weak var barButtonItem: UIBarButtonItem!
4947

48+
private var searchBarHeightWhenShown: NSLayoutConstraint?
49+
private var searchBarHeightWhenHidden: NSLayoutConstraint?
50+
5051
private var isFullscreen = false
5152

5253
public var document: Document? {
@@ -62,7 +63,11 @@ class DocumentViewController: UIViewController, DocumentDelegate, GADBannerViewD
6263

6364
searchBar.delegate = self
6465
searchBar.showsCancelButton = true
66+
67+
searchBarHeightWhenShown = searchBar.heightAnchor.constraint(equalToConstant: 56)
68+
searchBarHeightWhenHidden = searchBar.heightAnchor.constraint(equalToConstant: 0)
6569

70+
setVCcontraints()
6671
hideSearchBar()
6772

6873
barButtonItem.title = NSLocalizedString("back_to_documents", comment: "")
@@ -83,6 +88,32 @@ class DocumentViewController: UIViewController, DocumentDelegate, GADBannerViewD
8388
loadBannerAd()
8489
}
8590

91+
func setVCcontraints() {
92+
searchBar.translatesAutoresizingMaskIntoConstraints = false
93+
bannerView.translatesAutoresizingMaskIntoConstraints = false
94+
segmentedControl.translatesAutoresizingMaskIntoConstraints = false
95+
webview.translatesAutoresizingMaskIntoConstraints = false
96+
97+
searchBar.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
98+
searchBar.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
99+
searchBar.topAnchor.constraint(equalTo: toolBar.bottomAnchor).isActive = true
100+
101+
bannerView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
102+
bannerView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
103+
bannerView.topAnchor.constraint(equalTo: searchBar.bottomAnchor).isActive = true
104+
bannerView.heightAnchor.constraint(equalToConstant: 50).isActive = true
105+
106+
segmentedControl.topAnchor.constraint(equalTo: bannerView.bottomAnchor).isActive = true
107+
segmentedControl.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
108+
segmentedControl.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
109+
segmentedControl.heightAnchor.constraint(equalToConstant: 40).isActive = true
110+
111+
webview.topAnchor.constraint(equalTo: segmentedControl.bottomAnchor).isActive = true
112+
webview.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
113+
webview.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
114+
webview.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
115+
}
116+
86117
func loadBannerAd() {
87118
if ConfigurationManager.manager.configuration == .lite {
88119
let frame = { () -> CGRect in
@@ -175,20 +206,16 @@ class DocumentViewController: UIViewController, DocumentDelegate, GADBannerViewD
175206
private func showSearchBar() {
176207
searchBar.becomeFirstResponder()
177208
searchBar.isHidden = false
178-
searchBarHeight.constant = 56.0
179-
searchBarTop.constant = 0.0
180-
181-
toolBar.isHidden = true
209+
searchBarHeightWhenHidden?.isActive = false
210+
searchBarHeightWhenShown?.isActive = true
182211
}
183212

184213
private func hideSearchBar() {
185214
searchBar.text = ""
186215
searchBar.isHidden = true
187-
searchBarHeight.constant = 0.0
188-
searchBarTop.constant = 40.0
216+
searchBarHeightWhenHidden?.isActive = true
217+
searchBarHeightWhenShown?.isActive = false
189218

190-
toolBar.isHidden = false
191-
192219
self.view.endEditing(true)
193220
}
194221

0 commit comments

Comments
 (0)