showFeedsWithSkill from Profile

This commit is contained in:
nixzhu
2015-10-23 18:15:48 +08:00
parent 6a926910f6
commit 211309cf86
4 changed files with 134 additions and 97 deletions
+4
View File
@@ -245,6 +245,7 @@
50E114FC1ABC549300F13000 /* ContactsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E114FA1ABC549300F13000 /* ContactsCell.swift */; };
50E114FD1ABC549300F13000 /* ContactsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 50E114FB1ABC549300F13000 /* ContactsCell.xib */; };
50E18BB71B180F7D0076C3C6 /* BottomButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E18BB61B180F7D0076C3C6 /* BottomButtonView.swift */; };
50E1CE891BDA3CED0025B933 /* SkillHome.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50E1CE881BDA3CED0025B933 /* SkillHome.storyboard */; };
50E1D7291B870D7500D90A82 /* NSParagraphStyle+Yep.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E1D7281B870D7500D90A82 /* NSParagraphStyle+Yep.swift */; };
50E3488E1B905C0100A8E699 /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E3488D1B905C0100A8E699 /* AboutViewController.swift */; };
50E348921B9063A700A8E699 /* AboutCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E348901B9063A700A8E699 /* AboutCell.swift */; };
@@ -551,6 +552,7 @@
50E114FA1ABC549300F13000 /* ContactsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContactsCell.swift; path = Views/Cells/Contacts/ContactsCell.swift; sourceTree = "<group>"; };
50E114FB1ABC549300F13000 /* ContactsCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = ContactsCell.xib; path = Views/Cells/Contacts/ContactsCell.xib; sourceTree = "<group>"; };
50E18BB61B180F7D0076C3C6 /* BottomButtonView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BottomButtonView.swift; path = Views/SayHi/BottomButtonView.swift; sourceTree = "<group>"; };
50E1CE881BDA3CED0025B933 /* SkillHome.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SkillHome.storyboard; path = ViewControllers/SkillHome/SkillHome.storyboard; sourceTree = "<group>"; };
50E1D7281B870D7500D90A82 /* NSParagraphStyle+Yep.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "NSParagraphStyle+Yep.swift"; path = "Extensions/NSParagraphStyle+Yep.swift"; sourceTree = "<group>"; };
50E3488D1B905C0100A8E699 /* AboutViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AboutViewController.swift; path = ViewControllers/About/AboutViewController.swift; sourceTree = "<group>"; };
50E348901B9063A700A8E699 /* AboutCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AboutCell.swift; path = Views/Cells/About/AboutCell.swift; sourceTree = "<group>"; };
@@ -634,6 +636,7 @@
isa = PBXGroup;
children = (
0A1CAC6D1AFA42D400826B45 /* SkillHomeViewController.swift */,
50E1CE881BDA3CED0025B933 /* SkillHome.storyboard */,
);
name = SkillHome;
sourceTree = "<group>";
@@ -2203,6 +2206,7 @@
0A8F54BB1AB67D11004AD60E /* LaunchScreen.xib in Resources */,
5053AD511AF82A1700B3CBFA /* PickLocationCell.xib in Resources */,
5011382D1BCB5E150055A014 /* FeedConversationDockCell.xib in Resources */,
50E1CE891BDA3CED0025B933 /* SkillHome.storyboard in Resources */,
5053AD5B1AF83B4200B3CBFA /* ChatLeftLocationCell.xib in Resources */,
0A8F54B81AB67D11004AD60E /* Images.xcassets in Resources */,
50EB8CC51AE89F12001AC1EE /* ChatRightVideoCell.xib in Resources */,
+18 -75
View File
@@ -245,13 +245,13 @@
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="k4j-Ub-3bn" customClass="MediaView" customModule="Yep" customModuleProvider="target">
<view contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="k4j-Ub-3bn" customClass="MediaView" customModule="Yep" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<animations/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<gestureRecognizers/>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2Cb-zQ-dUZ" customClass="MediaControlView" customModule="Yep" customModuleProvider="target">
<view contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Cb-zQ-dUZ" customClass="MediaControlView" customModule="Yep" customModuleProvider="target">
<rect key="frame" x="0.0" y="520" width="600" height="80"/>
<animations/>
<color key="backgroundColor" red="0.40000000600000002" green="0.80000001190000003" blue="1" alpha="1" colorSpace="calibratedRGB"/>
@@ -498,12 +498,12 @@
<outlet property="sayHiView" destination="sfC-fv-gcr" id="5bd-hx-FGY"/>
<outlet property="topShadowImageView" destination="fut-Ug-l4V" id="tWb-Tz-48h"/>
<segue destination="la3-6z-2aH" kind="show" identifier="showConversation" id="o3b-2D-AMq"/>
<segue destination="3gg-0l-MYn" kind="show" identifier="showSkillHome" id="Jw0-fk-BDi"/>
<segue destination="0NC-ph-TBU" kind="presentation" identifier="presentOAuth" id="nnt-hh-VMn"/>
<segue destination="RBe-Uc-vg0" kind="show" identifier="showSocialWorkGithub" id="IFH-d8-nL4"/>
<segue destination="ohm-zv-zHQ" kind="show" identifier="showSocialWorkDribbble" id="u47-XX-oIL"/>
<segue destination="L64-Fk-OjC" kind="show" identifier="showSocialWorkInstagram" id="mac-FF-c8T"/>
<segue destination="ICA-Fn-Rb3" kind="show" identifier="showEditSkills" id="gSM-qG-2nt"/>
<segue destination="ubP-q1-Rff" kind="show" identifier="showFeedsWithSkill" id="uGT-OV-9S2"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="9Oi-o8-uy7" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -553,71 +553,6 @@
</objects>
<point key="canvasLocation" x="2865" y="373"/>
</scene>
<!--Skill Home View Controller-->
<scene sceneID="kj4-Yg-Eog">
<objects>
<viewController storyboardIdentifier="SkillHomeViewController" id="3gg-0l-MYn" customClass="SkillHomeViewController" customModule="Yep" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Vlu-dB-Ukl"/>
<viewControllerLayoutGuide type="bottom" id="IIx-oj-clN"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="EQO-b7-KgY">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cmT-Gk-qyV" customClass="SkillHomeHeaderView" customModule="Yep" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="600" height="60"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="zQ8-r2-xvU"/>
</constraints>
</view>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qu8-bN-78f">
<rect key="frame" x="0.0" y="60" width="600" height="540"/>
<animations/>
</scrollView>
<activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="Y6t-fN-Z4c">
<rect key="frame" x="290" y="180" width="20" height="20"/>
<animations/>
</activityIndicatorView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="Qu8-bN-78f" firstAttribute="top" secondItem="cmT-Gk-qyV" secondAttribute="bottom" id="2yo-3H-MMt"/>
<constraint firstItem="IIx-oj-clN" firstAttribute="top" secondItem="Qu8-bN-78f" secondAttribute="bottom" id="7BO-hR-582"/>
<constraint firstItem="cmT-Gk-qyV" firstAttribute="leading" secondItem="EQO-b7-KgY" secondAttribute="leading" id="9To-eb-Bk6"/>
<constraint firstAttribute="centerX" secondItem="Y6t-fN-Z4c" secondAttribute="centerX" id="Nzv-iZ-hOt"/>
<constraint firstAttribute="trailing" secondItem="cmT-Gk-qyV" secondAttribute="trailing" id="XdR-Xa-qcN"/>
<constraint firstAttribute="trailing" secondItem="Qu8-bN-78f" secondAttribute="trailing" id="fez-Gm-up4"/>
<constraint firstItem="Qu8-bN-78f" firstAttribute="leading" secondItem="EQO-b7-KgY" secondAttribute="leading" id="hTe-1J-M6S"/>
<constraint firstItem="Qu8-bN-78f" firstAttribute="bottom" secondItem="cmT-Gk-qyV" secondAttribute="bottom" id="hfd-P8-W1D"/>
<constraint firstItem="IIx-oj-clN" firstAttribute="top" secondItem="Qu8-bN-78f" secondAttribute="bottom" id="jVI-TZ-cD2"/>
<constraint firstAttribute="bottom" secondItem="Qu8-bN-78f" secondAttribute="bottom" id="oIq-g3-DaC"/>
<constraint firstItem="Qu8-bN-78f" firstAttribute="top" secondItem="Y6t-fN-Z4c" secondAttribute="top" constant="-120" id="uQR-tY-moQ"/>
<constraint firstItem="cmT-Gk-qyV" firstAttribute="top" secondItem="EQO-b7-KgY" secondAttribute="top" id="xdi-it-jhR"/>
</constraints>
<variation key="default">
<mask key="constraints">
<exclude reference="hfd-P8-W1D"/>
<exclude reference="7BO-hR-582"/>
<exclude reference="jVI-TZ-cD2"/>
</mask>
</variation>
</view>
<connections>
<outlet property="activityIndicator" destination="Y6t-fN-Z4c" id="ZKT-id-rMF"/>
<outlet property="headerView" destination="cmT-Gk-qyV" id="f7f-b5-C3d"/>
<outlet property="headerViewHeightLayoutConstraint" destination="zQ8-r2-xvU" id="X8C-Td-b6p"/>
<outlet property="skillHomeScrollView" destination="Qu8-bN-78f" id="cIm-yb-8GU"/>
<segue destination="AyC-pt-NR2" kind="show" identifier="showProfile" id="Snz-CT-4aa"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="O7a-Xh-Uff" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1002" y="1981"/>
</scene>
<!--Add Friends View Controller-->
<scene sceneID="f0W-Bv-ApN">
<objects>
@@ -974,7 +909,7 @@
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IrX-gK-Zkg">
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IrX-gK-Zkg">
<rect key="frame" x="0.0" y="100" width="600" height="44"/>
<animations/>
<constraints>
@@ -987,7 +922,7 @@
<action selector="activeFrom" destination="GqQ-V0-aYk" eventType="touchUpInside" id="yIG-DH-kZc"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="flj-e3-cbm">
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="flj-e3-cbm">
<rect key="frame" x="0.0" y="144" width="600" height="44"/>
<animations/>
<constraints>
@@ -1000,7 +935,7 @@
<action selector="activeTo" destination="GqQ-V0-aYk" eventType="touchUpInside" id="90e-4a-0ZA"/>
</connections>
</button>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hap-y9-JVX">
<pickerView contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hap-y9-JVX">
<rect key="frame" x="0.0" y="384" width="600" height="216"/>
<animations/>
<connections>
@@ -1214,14 +1149,14 @@
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="We read every feedback" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pdt-Vd-sD9">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="We read every feedback" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pdt-Vd-sD9">
<rect key="frame" x="208" y="60" width="185" height="20.5"/>
<animations/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="fVo-Zl-gHQ" customClass="FeedbackTextView" customModule="Yep" customModuleProvider="target">
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" misplaced="YES" keyboardDismissMode="onDrag" translatesAutoresizingMaskIntoConstraints="NO" id="fVo-Zl-gHQ" customClass="FeedbackTextView" customModule="Yep" customModuleProvider="target">
<rect key="frame" x="0.0" y="120.5" width="600" height="214.5"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -1598,7 +1533,7 @@
<!--SkillHomeViewController-->
<scene sceneID="mll-N9-alH">
<objects>
<viewControllerPlaceholder storyboardName="Main" referencedIdentifier="SkillHomeViewController" id="dYX-Ms-gWP" sceneMemberID="viewController"/>
<viewControllerPlaceholder storyboardName="SkillHome" referencedIdentifier="SkillHomeViewController" id="dYX-Ms-gWP" sceneMemberID="viewController"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="tm8-6z-ZhG" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1150" y="-1840"/>
@@ -1745,6 +1680,14 @@
</objects>
<point key="canvasLocation" x="2041" y="1999"/>
</scene>
<!--FeedsViewController-->
<scene sceneID="nCN-iF-lzM">
<objects>
<viewControllerPlaceholder storyboardName="Main" referencedIdentifier="FeedsViewController" id="ubP-q1-Rff" sceneMemberID="viewController"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="ec7-rn-E7j" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2468.5" y="1181"/>
</scene>
<!--Edit Skills View Controller-->
<scene sceneID="7wR-Xl-TQJ">
<objects>
@@ -2053,8 +1996,8 @@
<image name="yep_icon_solo" width="120" height="120"/>
</resources>
<inferredMetricsTieBreakers>
<segue reference="Sdt-ox-uOm"/>
<segue reference="WEi-uo-nf5"/>
<segue reference="fWY-6d-Rja"/>
<segue reference="Sdt-ox-uOm"/>
</inferredMetricsTieBreakers>
</document>
@@ -1053,34 +1053,44 @@ class ProfileViewController: UIViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showSkillHome" {
noNeedToChangeStatusBar = false
} else {
noNeedToChangeStatusBar = false
}
// if segue.identifier == "showSkillHome" {
// noNeedToChangeStatusBar = false
// } else {
// noNeedToChangeStatusBar = false
// }
if segue.identifier == "showConversation" {
let vc = segue.destinationViewController as! ConversationViewController
vc.conversation = sender as! Conversation
} else if segue.identifier == "showSkillHome" {
if let skillInfo = sender as? [String: AnyObject] {
let vc = segue.destinationViewController as! SkillHomeViewController
vc.hidesBottomBarWhenPushed = true
} else if segue.identifier == "showFeedsWithSkill" {
if let preferedSkillSet = skillInfo["preferedSkillSet"] as? Int {
vc.preferedSkillSet = SkillSet(rawValue: preferedSkillSet)
}
let vc = segue.destinationViewController as! FeedsViewController
vc.skill = skillInfo["skill"] as? SkillCell.Skill
vc.afterUpdatedSkillCoverAction = { [weak self] in
self?.updateProfileCollectionView()
}
if let
skillInfo = sender as? [String: AnyObject],
skill = skillInfo["skill"] as? SkillCell.Skill {
vc.skill = Skill(category: nil, id: skill.ID, name: skill.localName, localName: skill.localName, coverURLString: skill.coverURLString)
}
vc.hidesBottomBarWhenPushed = true
// if let skillInfo = sender as? [String: AnyObject] {
// let vc = segue.destinationViewController as! SkillHomeViewController
// vc.hidesBottomBarWhenPushed = true
//
// if let preferedSkillSet = skillInfo["preferedSkillSet"] as? Int {
// vc.preferedSkillSet = SkillSet(rawValue: preferedSkillSet)
// }
//
// vc.skill = skillInfo["skill"] as? SkillCell.Skill
//
// vc.afterUpdatedSkillCoverAction = { [weak self] in
// self?.updateProfileCollectionView()
// }
// }
} else if segue.identifier == "showEditSkills" {
if let skillInfo = sender as? [String: AnyObject] {
@@ -1265,7 +1275,8 @@ extension ProfileViewController: UICollectionViewDataSource, UICollectionViewDel
cell.skill = profileUser?.cellSkillInSkillSet(.Master, atIndexPath: indexPath)
cell.tapAction = { [weak self] skill in
self?.performSegueWithIdentifier("showSkillHome", sender: ["skill": skill, "preferedSkillSet": SkillSet.Master.rawValue])
//self?.performSegueWithIdentifier("showSkillHome", sender: ["skill": skill, "preferedSkillSet": SkillSet.Master.rawValue])
self?.performSegueWithIdentifier("showFeedsWithSkill", sender: ["skill": skill, "preferedSkillSet": SkillSet.Master.rawValue])
}
return cell
@@ -1276,7 +1287,8 @@ extension ProfileViewController: UICollectionViewDataSource, UICollectionViewDel
cell.skill = profileUser?.cellSkillInSkillSet(.Learning, atIndexPath: indexPath)
cell.tapAction = { [weak self] skill in
self?.performSegueWithIdentifier("showSkillHome", sender: ["skill": skill, "preferedSkillSet": SkillSet.Learning.rawValue])
//self?.performSegueWithIdentifier("showSkillHome", sender: ["skill": skill, "preferedSkillSet": SkillSet.Learning.rawValue])
self?.performSegueWithIdentifier("showFeedsWithSkill", sender: ["skill": skill, "preferedSkillSet": SkillSet.Learning.rawValue])
}
return cell
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9059" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
</dependencies>
<scenes>
<!--Skill Home View Controller-->
<scene sceneID="mpT-f3-5io">
<objects>
<viewController storyboardIdentifier="SkillHomeViewController" id="Skr-bi-0gE" customClass="SkillHomeViewController" customModule="Yep" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="AJf-La-Mod"/>
<viewControllerLayoutGuide type="bottom" id="EON-Vd-GgL"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="VtN-Js-gJV">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1ud-c9-wpH" customClass="SkillHomeHeaderView" customModule="Yep" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="600" height="60"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="QCs-gD-mCZ"/>
</constraints>
</view>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3Ak-vv-5dT">
<rect key="frame" x="0.0" y="60" width="600" height="540"/>
</scrollView>
<activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="xw8-T1-8T1">
<rect key="frame" x="290" y="180" width="20" height="20"/>
</activityIndicatorView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="3Ak-vv-5dT" firstAttribute="leading" secondItem="VtN-Js-gJV" secondAttribute="leading" id="1Qk-oF-7Q1"/>
<constraint firstItem="1ud-c9-wpH" firstAttribute="leading" secondItem="VtN-Js-gJV" secondAttribute="leading" id="FTm-WT-h6p"/>
<constraint firstItem="EON-Vd-GgL" firstAttribute="top" secondItem="3Ak-vv-5dT" secondAttribute="bottom" id="HaJ-ec-6uL"/>
<constraint firstItem="EON-Vd-GgL" firstAttribute="top" secondItem="3Ak-vv-5dT" secondAttribute="bottom" id="IJ7-yh-JxQ"/>
<constraint firstItem="1ud-c9-wpH" firstAttribute="top" secondItem="VtN-Js-gJV" secondAttribute="top" id="LeK-21-Axg"/>
<constraint firstAttribute="trailing" secondItem="1ud-c9-wpH" secondAttribute="trailing" id="QKV-Ur-cLF"/>
<constraint firstItem="3Ak-vv-5dT" firstAttribute="top" secondItem="1ud-c9-wpH" secondAttribute="bottom" id="SmF-he-2Do"/>
<constraint firstItem="3Ak-vv-5dT" firstAttribute="top" secondItem="xw8-T1-8T1" secondAttribute="top" constant="-120" id="UOU-Oy-1fB"/>
<constraint firstAttribute="trailing" secondItem="3Ak-vv-5dT" secondAttribute="trailing" id="dVG-ua-3Gj"/>
<constraint firstAttribute="centerX" secondItem="xw8-T1-8T1" secondAttribute="centerX" id="des-Os-fMO"/>
<constraint firstAttribute="bottom" secondItem="3Ak-vv-5dT" secondAttribute="bottom" id="qmW-gD-6hp"/>
<constraint firstItem="3Ak-vv-5dT" firstAttribute="bottom" secondItem="1ud-c9-wpH" secondAttribute="bottom" id="vsn-YB-Gid"/>
</constraints>
<variation key="default">
<mask key="constraints">
<exclude reference="vsn-YB-Gid"/>
<exclude reference="HaJ-ec-6uL"/>
<exclude reference="IJ7-yh-JxQ"/>
</mask>
</variation>
</view>
<connections>
<outlet property="activityIndicator" destination="xw8-T1-8T1" id="ynn-qm-0Vv"/>
<outlet property="headerView" destination="1ud-c9-wpH" id="b5S-6Z-VVA"/>
<outlet property="headerViewHeightLayoutConstraint" destination="QCs-gD-mCZ" id="Mfc-YV-k80"/>
<outlet property="skillHomeScrollView" destination="3Ak-vv-5dT" id="sgg-35-sfP"/>
<segue destination="m24-Ix-wg0" kind="show" identifier="showProfile" id="uL0-rf-A2X"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8Ex-Hw-P1G" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1062" y="1877"/>
</scene>
<!--ProfileViewController-->
<scene sceneID="ADu-iD-9B6">
<objects>
<viewControllerPlaceholder storyboardName="Main" referencedIdentifier="ProfileViewController" id="m24-Ix-wg0" sceneMemberID="viewController"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="RQC-0W-PjZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1523" y="1878"/>
</scene>
</scenes>
</document>