Skip to content

Commit d61e735

Browse files
authored
Merge pull request #19 from lauramarson/detailScreen
criada detailscreen e suas funcionalidades
2 parents ec71f14 + 68bfce5 commit d61e735

3 files changed

Lines changed: 86 additions & 9 deletions

File tree

AnimalsApp/AnimalsApp/Views/DetailViewController/DetailViewController.swift

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,25 @@
66
//
77

88
import UIKit
9+
import SDWebImage
910

1011
class DetailViewController: UIViewController {
11-
12+
// MARK: Properties
13+
public var labelNameText: String?
14+
public var labelSpecieText: String?
15+
public var textViewText: String?
16+
public var imageViewURL: URL?
17+
18+
// MARK: Outlets
19+
@IBOutlet weak var imageViewDetail: UIImageView!
20+
@IBOutlet weak var labelName: UILabel!
21+
@IBOutlet weak var labelSpecie: UILabel!
22+
@IBOutlet weak var textViewDescription: UITextView!
23+
1224
override func viewDidLoad() {
1325
super.viewDidLoad()
14-
1526
setNavigationItems()
27+
setupCell()
1628
}
1729

1830
private func setNavigationItems() {
@@ -27,7 +39,15 @@ class DetailViewController: UIViewController {
2739
navigationController?.navigationBar.scrollEdgeAppearance = navigationController?.navigationBar.standardAppearance
2840

2941
navigationController?.navigationBar.tintColor = UIColor.blueTextColor
30-
3142
}
32-
43+
44+
private func setupCell() {
45+
labelName.text = labelNameText
46+
labelSpecie.text = labelSpecieText
47+
textViewDescription.text = textViewText
48+
imageViewDetail.sd_setImage(with: imageViewURL)
49+
imageViewDetail.layer.cornerRadius = 10
50+
imageViewDetail.layer.borderWidth = 0.5
51+
imageViewDetail.layer.borderColor = UIColor.lightGray?.cgColor
52+
}
3353
}

AnimalsApp/AnimalsApp/Views/DetailViewController/DetailViewController.xib

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3-
<device id="retina6_1" orientation="portrait" appearance="light"/>
3+
<device id="retina4_7" orientation="portrait" appearance="light"/>
44
<dependencies>
55
<deployment identifier="iOS"/>
66
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
@@ -11,19 +11,74 @@
1111
<objects>
1212
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="DetailViewController" customModule="AnimalsApp" customModuleProvider="target">
1313
<connections>
14+
<outlet property="imageViewDetail" destination="RRD-0M-Fbf" id="q2i-2K-rTh"/>
15+
<outlet property="labelName" destination="EVF-pt-124" id="guM-in-7ks"/>
16+
<outlet property="labelSpecie" destination="Bwj-g9-aso" id="IcD-DQ-lcw"/>
17+
<outlet property="textViewDescription" destination="p4c-HV-eo6" id="i5V-Wb-uWa"/>
1418
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
1519
</connections>
1620
</placeholder>
1721
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
1822
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
19-
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
23+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
2024
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
25+
<subviews>
26+
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="RRD-0M-Fbf">
27+
<rect key="frame" x="74" y="17" width="227" height="227"/>
28+
<constraints>
29+
<constraint firstAttribute="height" constant="227" id="zTd-kL-xJq"/>
30+
</constraints>
31+
</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">
33+
<rect key="frame" x="16" y="268" width="343" height="27"/>
34+
<constraints>
35+
<constraint firstAttribute="height" constant="27" id="wZX-nl-zep"/>
36+
</constraints>
37+
<fontDescription key="fontDescription" type="system" pointSize="18"/>
38+
<nil key="textColor"/>
39+
<nil key="highlightedColor"/>
40+
</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">
42+
<rect key="frame" x="16" y="311" width="343" height="24"/>
43+
<constraints>
44+
<constraint firstAttribute="height" constant="24" id="jo6-UN-Yy7"/>
45+
</constraints>
46+
<fontDescription key="fontDescription" type="system" pointSize="14"/>
47+
<nil key="textColor"/>
48+
<nil key="highlightedColor"/>
49+
</label>
50+
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="ssddd" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p4c-HV-eo6">
51+
<rect key="frame" x="10" y="359" width="349" height="271"/>
52+
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
53+
<color key="textColor" systemColor="labelColor"/>
54+
<fontDescription key="fontDescription" type="system" pointSize="14"/>
55+
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
56+
</textView>
57+
</subviews>
2158
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
2259
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
60+
<constraints>
61+
<constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="p4c-HV-eo6" secondAttribute="bottom" constant="37" id="3BM-l9-XYh"/>
62+
<constraint firstItem="p4c-HV-eo6" firstAttribute="top" secondItem="Bwj-g9-aso" secondAttribute="bottom" constant="24" id="3oL-kf-STz"/>
63+
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="p4c-HV-eo6" secondAttribute="trailing" constant="16" id="Cr8-3R-8Bx"/>
64+
<constraint firstItem="Bwj-g9-aso" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="16" id="Mkt-gC-F1o"/>
65+
<constraint firstItem="p4c-HV-eo6" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="10" id="VGQ-Du-u3N"/>
66+
<constraint firstItem="RRD-0M-Fbf" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="17" id="ZcG-Pk-Xbj"/>
67+
<constraint firstItem="RRD-0M-Fbf" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="74" id="eSW-hc-Rym"/>
68+
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="EVF-pt-124" secondAttribute="trailing" constant="16" id="hPQ-sF-xgT"/>
69+
<constraint firstItem="Bwj-g9-aso" firstAttribute="top" secondItem="EVF-pt-124" secondAttribute="bottom" constant="16" id="he5-67-tbV"/>
70+
<constraint firstItem="EVF-pt-124" firstAttribute="top" secondItem="RRD-0M-Fbf" secondAttribute="bottom" constant="24" id="iV4-F7-5xP"/>
71+
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Bwj-g9-aso" secondAttribute="trailing" constant="16" id="na5-Jx-JgB"/>
72+
<constraint firstItem="EVF-pt-124" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="16" id="pGn-nv-Ad7"/>
73+
<constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="RRD-0M-Fbf" secondAttribute="trailing" constant="74" id="qqv-hC-u6u"/>
74+
</constraints>
2375
<point key="canvasLocation" x="132" y="51"/>
2476
</view>
2577
</objects>
2678
<resources>
79+
<systemColor name="labelColor">
80+
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
81+
</systemColor>
2782
<systemColor name="systemBackgroundColor">
2883
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
2984
</systemColor>

AnimalsApp/AnimalsApp/Views/HomeViewController/HomeViewController.swift

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

113113
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
114114
let detailVC = DetailViewController(nibName: "DetailViewController", bundle: nil)
115-
116-
//continuar
117-
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
118120
navigationController?.pushViewController(detailVC, animated: true)
119121

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

0 commit comments

Comments
 (0)