Skip to content

Commit 34c4006

Browse files
committed
Add AllVisible
1 parent 97ce3cf commit 34c4006

File tree

21 files changed

+1701
-0
lines changed

21 files changed

+1701
-0
lines changed

AllVisible/AllVisible.xcodeproj/project.pbxproj

Lines changed: 463 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
//
2+
// AppDelegate.swift
3+
// AllVisible
4+
//
5+
// Created by Keith Harrison http://useyourloaf.com
6+
// Copyright (c) 2016 Keith Harrison. All rights reserved.
7+
//
8+
// Redistribution and use in source and binary forms, with or without
9+
// modification, are permitted provided that the following conditions are met:
10+
//
11+
// 1. Redistributions of source code must retain the above copyright
12+
// notice, this list of conditions and the following disclaimer.
13+
//
14+
// 2. Redistributions in binary form must reproduce the above copyright
15+
// notice, this list of conditions and the following disclaimer in the
16+
// documentation and/or other materials provided with the distribution.
17+
//
18+
// 3. Neither the name of the copyright holder nor the names of its
19+
// contributors may be used to endorse or promote products derived from
20+
// this software without specific prior written permission.
21+
//
22+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23+
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24+
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25+
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26+
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27+
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28+
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29+
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30+
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31+
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32+
// POSSIBILITY OF SUCH DAMAGE.
33+
34+
import UIKit
35+
36+
@UIApplicationMain
37+
class AppDelegate: UIResponder, UIApplicationDelegate {
38+
39+
var window: UIWindow?
40+
41+
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
42+
43+
// Configure the SplitViewController to prefer to always
44+
// show both master and detail views and add the display
45+
// mode button to the navigation bar of the secondary
46+
// view controller.
47+
48+
if let splitViewController = self.window?.rootViewController as? UISplitViewController {
49+
splitViewController.preferredDisplayMode = .allVisible
50+
51+
if let navigationController = splitViewController.viewControllers.last as? UINavigationController {
52+
navigationController.topViewController?.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
53+
}
54+
}
55+
return true
56+
}
57+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "iphone",
5+
"size" : "29x29",
6+
"scale" : "2x"
7+
},
8+
{
9+
"idiom" : "iphone",
10+
"size" : "29x29",
11+
"scale" : "3x"
12+
},
13+
{
14+
"idiom" : "iphone",
15+
"size" : "40x40",
16+
"scale" : "2x"
17+
},
18+
{
19+
"idiom" : "iphone",
20+
"size" : "40x40",
21+
"scale" : "3x"
22+
},
23+
{
24+
"idiom" : "iphone",
25+
"size" : "60x60",
26+
"scale" : "2x"
27+
},
28+
{
29+
"idiom" : "iphone",
30+
"size" : "60x60",
31+
"scale" : "3x"
32+
},
33+
{
34+
"idiom" : "ipad",
35+
"size" : "29x29",
36+
"scale" : "1x"
37+
},
38+
{
39+
"idiom" : "ipad",
40+
"size" : "29x29",
41+
"scale" : "2x"
42+
},
43+
{
44+
"idiom" : "ipad",
45+
"size" : "40x40",
46+
"scale" : "1x"
47+
},
48+
{
49+
"idiom" : "ipad",
50+
"size" : "40x40",
51+
"scale" : "2x"
52+
},
53+
{
54+
"idiom" : "ipad",
55+
"size" : "76x76",
56+
"scale" : "1x"
57+
},
58+
{
59+
"idiom" : "ipad",
60+
"size" : "76x76",
61+
"scale" : "2x"
62+
}
63+
],
64+
"info" : {
65+
"version" : 1,
66+
"author" : "xcode"
67+
}
68+
}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="aOo-IX-1QJ">
3+
<dependencies>
4+
<deployment identifier="iOS"/>
5+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
6+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7+
</dependencies>
8+
<scenes>
9+
<!--Master-->
10+
<scene sceneID="rzS-q9-Onz">
11+
<objects>
12+
<viewController id="rLn-I0-ii6" sceneMemberID="viewController">
13+
<layoutGuides>
14+
<viewControllerLayoutGuide type="top" id="u7Z-pi-65U"/>
15+
<viewControllerLayoutGuide type="bottom" id="Lor-IL-4ZJ"/>
16+
</layoutGuides>
17+
<view key="view" contentMode="scaleToFill" id="wPV-Ms-V5L">
18+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
19+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
20+
<subviews>
21+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZGG-cm-Rz1">
22+
<fontDescription key="fontDescription" type="system" pointSize="20"/>
23+
<state key="normal" title="Now"/>
24+
</button>
25+
</subviews>
26+
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
27+
<constraints>
28+
<constraint firstItem="ZGG-cm-Rz1" firstAttribute="centerY" secondItem="wPV-Ms-V5L" secondAttribute="centerY" id="2w6-By-pAX"/>
29+
<constraint firstItem="ZGG-cm-Rz1" firstAttribute="centerX" secondItem="wPV-Ms-V5L" secondAttribute="centerX" id="3mz-A7-eG8"/>
30+
</constraints>
31+
</view>
32+
<navigationItem key="navigationItem" title="Master" id="yzg-Be-wDI"/>
33+
</viewController>
34+
<placeholder placeholderIdentifier="IBFirstResponder" id="dHD-HN-7mQ" userLabel="First Responder" sceneMemberID="firstResponder"/>
35+
</objects>
36+
<point key="canvasLocation" x="1124" y="-448"/>
37+
</scene>
38+
<!--Detail-->
39+
<scene sceneID="wXF-mX-KvX">
40+
<objects>
41+
<viewController id="1w8-64-skT" sceneMemberID="viewController">
42+
<layoutGuides>
43+
<viewControllerLayoutGuide type="top" id="4yw-R1-qTQ"/>
44+
<viewControllerLayoutGuide type="bottom" id="wHQ-m8-z84"/>
45+
</layoutGuides>
46+
<view key="view" contentMode="scaleToFill" id="AJk-2U-006">
47+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
48+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
49+
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
50+
</view>
51+
<navigationItem key="navigationItem" title="Detail" id="crj-T2-A6C"/>
52+
</viewController>
53+
<placeholder placeholderIdentifier="IBFirstResponder" id="rD5-Po-89Y" userLabel="First Responder" sceneMemberID="firstResponder"/>
54+
</objects>
55+
<point key="canvasLocation" x="1128.8" y="196.55172413793105"/>
56+
</scene>
57+
<!--Navigation Controller-->
58+
<scene sceneID="VbV-b9-gL0">
59+
<objects>
60+
<navigationController id="1m5-m0-8uA" sceneMemberID="viewController">
61+
<navigationBar key="navigationBar" contentMode="scaleToFill" id="MBy-fI-w5v">
62+
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
63+
<autoresizingMask key="autoresizingMask"/>
64+
</navigationBar>
65+
<connections>
66+
<segue destination="rLn-I0-ii6" kind="relationship" relationship="rootViewController" id="d8L-GL-e1X"/>
67+
</connections>
68+
</navigationController>
69+
<placeholder placeholderIdentifier="IBFirstResponder" id="MAk-0h-ClG" userLabel="First Responder" sceneMemberID="firstResponder"/>
70+
</objects>
71+
<point key="canvasLocation" x="191" y="-457"/>
72+
</scene>
73+
<!--Split View Controller-->
74+
<scene sceneID="t2s-NS-cBu">
75+
<objects>
76+
<splitViewController id="aOo-IX-1QJ" sceneMemberID="viewController">
77+
<connections>
78+
<segue destination="1m5-m0-8uA" kind="relationship" relationship="masterViewController" id="uyC-Xw-6eq"/>
79+
<segue destination="ZVJ-r7-zQT" kind="relationship" relationship="detailViewController" id="TmH-j7-js0"/>
80+
</connections>
81+
</splitViewController>
82+
<placeholder placeholderIdentifier="IBFirstResponder" id="BgE-QB-5Qz" userLabel="First Responder" sceneMemberID="firstResponder"/>
83+
</objects>
84+
<point key="canvasLocation" x="-761" y="-130"/>
85+
</scene>
86+
<!--Navigation Controller-->
87+
<scene sceneID="hNa-oz-sbS">
88+
<objects>
89+
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="ZVJ-r7-zQT" sceneMemberID="viewController">
90+
<toolbarItems/>
91+
<navigationBar key="navigationBar" contentMode="scaleToFill" id="6HM-mM-hwJ">
92+
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
93+
<autoresizingMask key="autoresizingMask"/>
94+
</navigationBar>
95+
<nil name="viewControllers"/>
96+
<connections>
97+
<segue destination="1w8-64-skT" kind="relationship" relationship="rootViewController" id="LSl-Qg-yZO"/>
98+
</connections>
99+
</navigationController>
100+
<placeholder placeholderIdentifier="IBFirstResponder" id="D5o-K7-zEe" userLabel="First Responder" sceneMemberID="firstResponder"/>
101+
</objects>
102+
<point key="canvasLocation" x="189.59999999999999" y="196.55172413793105"/>
103+
</scene>
104+
</scenes>
105+
</document>
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="H1p-Uh-vWS">
3+
<dependencies>
4+
<deployment identifier="iOS"/>
5+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
6+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7+
</dependencies>
8+
<scenes>
9+
<!--Master-->
10+
<scene sceneID="pY4-Hu-kfo">
11+
<objects>
12+
<navigationController title="Master" id="RMx-3f-FxP" sceneMemberID="viewController">
13+
<navigationBar key="navigationBar" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="Pmd-2v-anx">
14+
<rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
15+
<autoresizingMask key="autoresizingMask"/>
16+
</navigationBar>
17+
<connections>
18+
<segue destination="g0o-Iw-BIu" kind="relationship" relationship="rootViewController" id="cmU-Oy-oi9"/>
19+
</connections>
20+
</navigationController>
21+
<placeholder placeholderIdentifier="IBFirstResponder" id="8fS-aE-onr" sceneMemberID="firstResponder"/>
22+
</objects>
23+
<point key="canvasLocation" x="-38" y="-630"/>
24+
</scene>
25+
<!--Master-->
26+
<scene sceneID="eD3-j2-Fxu">
27+
<objects>
28+
<viewController id="g0o-Iw-BIu" customClass="MasterViewController" customModule="AllVisible" customModuleProvider="target" sceneMemberID="viewController">
29+
<layoutGuides>
30+
<viewControllerLayoutGuide type="top" id="6qz-gh-7bI"/>
31+
<viewControllerLayoutGuide type="bottom" id="Fd7-DD-a1U"/>
32+
</layoutGuides>
33+
<view key="view" contentMode="scaleToFill" id="RKb-2b-eAm">
34+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
35+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
36+
<subviews>
37+
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="s7X-ux-ywm">
38+
<fontDescription key="fontDescription" type="system" pointSize="20"/>
39+
<state key="normal" title="Now"/>
40+
<connections>
41+
<segue destination="vC3-pB-5Vb" kind="showDetail" identifier="showDetail" id="A9r-6C-v8Q"/>
42+
</connections>
43+
</button>
44+
</subviews>
45+
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
46+
<constraints>
47+
<constraint firstItem="s7X-ux-ywm" firstAttribute="centerY" secondItem="RKb-2b-eAm" secondAttribute="centerY" id="8VN-9m-KGU"/>
48+
<constraint firstItem="s7X-ux-ywm" firstAttribute="centerX" secondItem="RKb-2b-eAm" secondAttribute="centerX" id="Rjq-og-5bN"/>
49+
</constraints>
50+
</view>
51+
<navigationItem key="navigationItem" title="Master" id="2VE-ez-YAu"/>
52+
</viewController>
53+
<placeholder placeholderIdentifier="IBFirstResponder" id="pFP-4P-Aaq" userLabel="First Responder" sceneMemberID="firstResponder"/>
54+
</objects>
55+
<point key="canvasLocation" x="703" y="-624"/>
56+
</scene>
57+
<!--Detail-->
58+
<scene sceneID="yUG-lL-AsK">
59+
<objects>
60+
<viewController title="Detail" id="JEX-9P-axG" customClass="DetailViewController" customModule="AllVisible" customModuleProvider="target" sceneMemberID="viewController">
61+
<layoutGuides>
62+
<viewControllerLayoutGuide type="top" id="SYR-Wa-9uf"/>
63+
<viewControllerLayoutGuide type="bottom" id="GAO-Cl-Wes"/>
64+
</layoutGuides>
65+
<view key="view" contentMode="scaleToFill" id="svH-Pt-448">
66+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
67+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
68+
<subviews>
69+
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Not Set" textAlignment="center" lineBreakMode="tailTruncation" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="0XM-y9-sOw">
70+
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
71+
<fontDescription key="fontDescription" style="UICTFontTextStyleHeadline"/>
72+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
73+
<nil key="highlightedColor"/>
74+
</label>
75+
</subviews>
76+
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
77+
<constraints>
78+
<constraint firstItem="0XM-y9-sOw" firstAttribute="leading" secondItem="svH-Pt-448" secondAttribute="leading" constant="20" symbolic="YES" id="Tsc-yG-G1q"/>
79+
<constraint firstItem="0XM-y9-sOw" firstAttribute="centerY" secondItem="svH-Pt-448" secondAttribute="centerY" id="jWN-iV-94e"/>
80+
<constraint firstAttribute="trailing" secondItem="0XM-y9-sOw" secondAttribute="trailing" constant="20" symbolic="YES" id="tHV-ZD-HQj"/>
81+
</constraints>
82+
</view>
83+
<toolbarItems/>
84+
<navigationItem key="navigationItem" title="Detail" id="mOI-FS-AaM"/>
85+
<connections>
86+
<outlet property="detailLabel" destination="0XM-y9-sOw" id="Tsp-T2-1UC"/>
87+
</connections>
88+
</viewController>
89+
<placeholder placeholderIdentifier="IBFirstResponder" id="FJe-Yq-33r" sceneMemberID="firstResponder"/>
90+
</objects>
91+
<point key="canvasLocation" x="709" y="129"/>
92+
</scene>
93+
<!--Split View Controller-->
94+
<scene sceneID="Nki-YV-4Qg">
95+
<objects>
96+
<splitViewController id="H1p-Uh-vWS" sceneMemberID="viewController">
97+
<toolbarItems/>
98+
<connections>
99+
<segue destination="RMx-3f-FxP" kind="relationship" relationship="masterViewController" id="BlO-5A-QYV"/>
100+
<segue destination="vC3-pB-5Vb" kind="relationship" relationship="detailViewController" id="Tll-UG-LXB"/>
101+
</connections>
102+
</splitViewController>
103+
<placeholder placeholderIdentifier="IBFirstResponder" id="cZU-Oi-B1e" sceneMemberID="firstResponder"/>
104+
</objects>
105+
<point key="canvasLocation" x="-856" y="-330"/>
106+
</scene>
107+
<!--Navigation Controller-->
108+
<scene sceneID="r7l-gg-dq7">
109+
<objects>
110+
<navigationController id="vC3-pB-5Vb" sceneMemberID="viewController">
111+
<navigationBar key="navigationBar" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="DjV-YW-jjY">
112+
<rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
113+
<autoresizingMask key="autoresizingMask"/>
114+
</navigationBar>
115+
<connections>
116+
<segue destination="JEX-9P-axG" kind="relationship" relationship="rootViewController" id="GKi-kA-LjT"/>
117+
</connections>
118+
</navigationController>
119+
<placeholder placeholderIdentifier="IBFirstResponder" id="SLD-UC-DBI" userLabel="First Responder" sceneMemberID="firstResponder"/>
120+
</objects>
121+
<point key="canvasLocation" x="-45" y="129"/>
122+
</scene>
123+
</scenes>
124+
<inferredMetricsTieBreakers>
125+
<segue reference="A9r-6C-v8Q"/>
126+
</inferredMetricsTieBreakers>
127+
</document>

0 commit comments

Comments
 (0)