Skip to content

Commit 40d59cc

Browse files
authored
Merge pull request #20 from lauramarson/detailScreen
Detail screen
2 parents 3a934fb + 73c77d4 commit 40d59cc

4 files changed

Lines changed: 40 additions & 22 deletions

File tree

AnimalsApp/AnimalsApp/Views/DetailViewController/DetailViewController.swift

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ import UIKit
99
import SDWebImage
1010

1111
class DetailViewController: UIViewController {
12+
1213
// MARK: Properties
13-
public var labelNameText: String?
14-
public var labelSpecieText: String?
15-
public var textViewText: String?
16-
public var imageViewURL: URL?
14+
var animal: Animal?
1715

1816
// MARK: Outlets
1917
@IBOutlet weak var imageViewDetail: UIImageView!
@@ -24,7 +22,7 @@ class DetailViewController: UIViewController {
2422
override func viewDidLoad() {
2523
super.viewDidLoad()
2624
setNavigationItems()
27-
setupCell()
25+
setupDetails()
2826
}
2927

3028
private func setNavigationItems() {
@@ -41,11 +39,24 @@ class DetailViewController: UIViewController {
4139
navigationController?.navigationBar.tintColor = UIColor.blueTextColor
4240
}
4341

44-
private func setupCell() {
45-
labelName.text = labelNameText
46-
labelSpecie.text = labelSpecieText
47-
textViewDescription.text = textViewText
48-
imageViewDetail.sd_setImage(with: imageViewURL)
42+
private func setupDetails() {
43+
guard let animal = animal else { return }
44+
45+
if animal.age == 1 {
46+
labelName.text = "\(animal.name?.capitalized ?? "") - \(animal.age ?? 1) ano"
47+
} else {
48+
labelName.text = "\(animal.name?.capitalized ?? "") - \(animal.age ?? 0) anos"
49+
}
50+
51+
labelSpecie.text = animal.species?.capitalized
52+
textViewDescription.text = animal.description
53+
54+
if let imageData = animal.imageData {
55+
imageViewDetail.image = UIImage(data: imageData)
56+
} else {
57+
imageViewDetail.sd_setImage(with: animal.imageURL)
58+
}
59+
4960
imageViewDetail.layer.cornerRadius = 10
5061
imageViewDetail.layer.borderWidth = 0.5
5162
imageViewDetail.layer.borderColor = UIColor.lightGray?.cgColor

AnimalsApp/AnimalsApp/Views/DetailViewController/DetailViewController.xib

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
<capability name="System colors in document resources" minToolsVersion="11.0"/>
99
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
1010
</dependencies>
11+
<customFonts key="customFonts">
12+
<array key="OpenSans-Regular.ttf">
13+
<string>OpenSans</string>
14+
</array>
15+
</customFonts>
1116
<objects>
1217
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="DetailViewController" customModule="AnimalsApp" customModuleProvider="target">
1318
<connections>
@@ -29,29 +34,29 @@
2934
<constraint firstAttribute="height" constant="227" id="zTd-kL-xJq"/>
3035
</constraints>
3136
</imageView>
32-
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EVF-pt-124">
37+
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Nome" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EVF-pt-124">
3338
<rect key="frame" x="16" y="268" width="343" height="27"/>
3439
<constraints>
3540
<constraint firstAttribute="height" constant="27" id="wZX-nl-zep"/>
3641
</constraints>
37-
<fontDescription key="fontDescription" type="system" pointSize="18"/>
42+
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="22"/>
3843
<nil key="textColor"/>
3944
<nil key="highlightedColor"/>
4045
</label>
41-
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bwj-g9-aso">
46+
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Espécie" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bwj-g9-aso">
4247
<rect key="frame" x="16" y="311" width="343" height="24"/>
4348
<constraints>
4449
<constraint firstAttribute="height" constant="24" id="jo6-UN-Yy7"/>
4550
</constraints>
46-
<fontDescription key="fontDescription" type="system" pointSize="14"/>
51+
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
4752
<nil key="textColor"/>
4853
<nil key="highlightedColor"/>
4954
</label>
50-
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="ssddd" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p4c-HV-eo6">
55+
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="Descrição" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p4c-HV-eo6">
5156
<rect key="frame" x="10" y="359" width="349" height="271"/>
5257
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
5358
<color key="textColor" systemColor="labelColor"/>
54-
<fontDescription key="fontDescription" type="system" pointSize="14"/>
59+
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="17"/>
5560
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
5661
</textView>
5762
</subviews>

AnimalsApp/AnimalsApp/Views/FavoritesViewController/FavoritesViewController.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ class FavoritesViewController: UIViewController {
4343
NSAttributedString.Key.font: UIFont(name: "OpenSans", size: 20) ?? UIFont.systemFont(ofSize: 20)]
4444
navigationController?.navigationBar.standardAppearance = appearance
4545
navigationController?.navigationBar.scrollEdgeAppearance = navigationController?.navigationBar.standardAppearance
46+
47+
navigationItem.backButtonTitle = ""
4648
}
4749

4850
}
@@ -75,7 +77,8 @@ extension FavoritesViewController: UITableViewDelegate {
7577
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
7678
let detailVC = DetailViewController(nibName: "DetailViewController", bundle: nil)
7779

78-
//continuar
80+
let animal = favoritesVM?.modelAt(indexPath.row)
81+
detailVC.animal = animal
7982

8083
navigationController?.pushViewController(detailVC, animated: true)
8184

AnimalsApp/AnimalsApp/Views/HomeViewController/HomeViewController.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,10 @@ extension HomeViewController: UITableViewDelegate {
112112

113113
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
114114
let detailVC = DetailViewController(nibName: "DetailViewController", bundle: nil)
115-
let data = homeVM.modelAt(indexPath.row)
116-
detailVC.imageViewURL = data.imageURL
117-
detailVC.labelNameText = "\(data.name ?? "") - \(data.age ?? 0)"
118-
detailVC.labelSpecieText = data.species
119-
detailVC.textViewText = data.description
115+
116+
let animal = homeVM.modelAt(indexPath.row)
117+
detailVC.animal = animal
118+
120119
navigationController?.pushViewController(detailVC, animated: true)
121120

122121
tableView.deselectRow(at: indexPath, animated: true)

0 commit comments

Comments
 (0)