Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
  • 5 commits
  • 11 files changed
  • 0 commit comments
  • 1 contributor
View
BIN data/.DS_Store
Binary file not shown.
View
BIN data/images/.DS_Store
Binary file not shown.
View
BIN data/images/glossary/.DS_Store
Binary file not shown.
View
38 data/json/glossary.json
@@ -3,97 +3,97 @@
{
"name": "Acorn",
"description": "Small nut that is produced by oak trees. Has a cap on top resembling a beanie",
- "image": "acorn.jpg"
+ "image": "acorn.png"
},
{
"name": "Alternate",
"description": "Leaves or buds staggered along the twigs or branches",
- "image": "alternate.jpg"
+ "image": "alternate.png"
},
{
"name": "Bud",
"description": "A small protrusion found either on the end or sides of the trees twigs, this is the point from which the trees leaves or flowers will grow",
- "image": "bud.jpg"
+ "image": "bud.png"
},
{
"name": "Bundle scar",
"description": "The dots inside a leaf scar",
- "image": "bundle_scar.jpg"
+ "image": "bundle_scar.png"
},
{
"name": "End bud",
"description": "Buds which grow at the very tip of the twig growing straight out; sometimes referred to as true end buds",
- "image": "end_bud.jpg"
+ "image": "end_bud.png"
},
{
"name": "False end bud",
"description": "Do not have a true end bud, end buds appear to be bent, small or set off to the side",
- "image": "false_end_bud.jpg"
+ "image": "false_end_bud.png"
},
{
"name": "Flower Bud",
"description": "A bud that will turn into a flower as opposed to a leaf",
- "image": "flower_bud.jpg"
+ "image": "flower_bud.png"
},
{
"name": "Fruit",
"description": "The seed containing a pod, nut, samara, berry, or more traditional fleshy fruit (ie. apple or orange)",
- "image": "fruit.jpg"
+ "image": "fruit.png"
},
{
"name": "Furrows",
"description": "The grooves or channels in the trees bark",
- "image": "furrows.jpg"
+ "image": "furrows.png"
},
{
"name": "Inner bark",
"description": "Inner most part of the bark attached to the tree’s trunk",
- "image": "inner_bark.jpg"
+ "image": "inner_bark.png"
},
{
"name": "Leaf scar",
"description": "The mark left on a twig when the leaf is removed",
- "image": "leaf_scar.jpg"
+ "image": "leaf_scar.png"
},
{
"name": "Lobed",
"description": "A leaf with multiple rounded portions along the edge (ie. hand with fingers spread apart)",
- "image": "lobed.jpg"
+ "image": "lobed.png"
},
{
"name": "Opposite",
"description": "Leaves and twigs which grow out exactly across from one another",
- "image": "opposite.jpg"
+ "image": "opposite.png"
},
{
"name": "Paired thorn",
"description": "Two thorns grouped together side-by-side",
- "image": "paired_thorn.jpg"
+ "image": "paired_thorn.png"
},
{
"name": "Samara",
"description": "A dry, seeded, 'winged' fruit. The fruit of maples, ashes, and elms",
- "image": "samara.jpg"
+ "image": "samara.png"
},
{
"name": "Scale",
"description": "Minute leaves that are needle-like or flat and overlapping like reptilian skin",
- "image": "scale.jpg"
+ "image": "scale.png"
},
{
"name": "Thorn",
"description": "A sharp-pointed, woody outgrowth of the internal vascular system of the plant",
- "image": "thorn.jpg"
+ "image": "thorn.png"
},
{
"name": "Twig",
"description": "The newer growth off a branch, varies in colors different than the branch’s bark where the buds are found",
- "image": "twig.jpg"
+ "image": "twig.png"
},
{
"name": "Un-lobed",
"description": "A leaf without lobes (ie. hand with fingers NOT spread apart)",
- "image": "un-lobed.jpg"
+ "image": "un-lobed_leaf.png"
}
]
}
View
4 ios/Camp Joy Outdoors.xcodeproj/project.pbxproj
@@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
09939F3D1812F73D0043AFCD /* glossary_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 09939F3C1812F73D0043AFCD /* glossary_iPhone.storyboard */; };
09939F401812F7F80043AFCD /* CJOGlossaryDefinitionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 09939F3F1812F7F80043AFCD /* CJOGlossaryDefinitionViewController.m */; };
+ 09939F4218132B300043AFCD /* glossary in Resources */ = {isa = PBXBuildFile; fileRef = 09939F4118132B300043AFCD /* glossary */; };
42405B6A18121F7800292674 /* CJOQuestion.m in Sources */ = {isa = PBXBuildFile; fileRef = 42405B6918121F7800292674 /* CJOQuestion.m */; };
42405B6D18121F8500292674 /* CJOTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 42405B6C18121F8500292674 /* CJOTree.m */; };
42405B7018121F9600292674 /* CJOGlossaryTerm.m in Sources */ = {isa = PBXBuildFile; fileRef = 42405B6F18121F9600292674 /* CJOGlossaryTerm.m */; };
@@ -67,6 +68,7 @@
09939F3C1812F73D0043AFCD /* glossary_iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = glossary_iPhone.storyboard; sourceTree = "<group>"; };
09939F3E1812F7F80043AFCD /* CJOGlossaryDefinitionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJOGlossaryDefinitionViewController.h; sourceTree = "<group>"; };
09939F3F1812F7F80043AFCD /* CJOGlossaryDefinitionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJOGlossaryDefinitionViewController.m; sourceTree = "<group>"; };
+ 09939F4118132B300043AFCD /* glossary */ = {isa = PBXFileReference; lastKnownFileType = folder; name = glossary; path = ../../data/images/glossary; sourceTree = "<group>"; };
42405B6818121F7800292674 /* CJOQuestion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJOQuestion.h; sourceTree = "<group>"; };
42405B6918121F7800292674 /* CJOQuestion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CJOQuestion.m; sourceTree = "<group>"; };
42405B6B18121F8500292674 /* CJOTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CJOTree.h; sourceTree = "<group>"; };
@@ -308,6 +310,7 @@
4252C39A180F8888001F86F5 /* Supporting Files */ = {
isa = PBXGroup;
children = (
+ 09939F4118132B300043AFCD /* glossary */,
4290D7EF1813293E00B8057A /* dichotomy */,
FA4638B418131C2A007F62DD /* maps */,
FA0B2BDE1812F22800FF21A7 /* trees */,
@@ -446,6 +449,7 @@
4252C3A7180F8888001F86F5 /* Main_iPhone.storyboard in Resources */,
4290D7F01813293E00B8057A /* dichotomy in Resources */,
4252C39E180F8888001F86F5 /* InfoPlist.strings in Resources */,
+ 09939F4218132B300043AFCD /* glossary in Resources */,
42405B821812F90700292674 /* campjoy.jpg in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
View
18 ios/Camp Joy Outdoors/CJOAppDelegate.m
@@ -15,6 +15,24 @@ @implementation CJOAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
+ NSDictionary *boardMap = @{@"Identify":@"Identify", @"glossary":@"Glossary"};
+
+
+ NSString *fmt = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ? @"%@_iPhone" : @"%@_iPad";
+ NSMutableArray *controllers = [[NSMutableArray alloc]initWithCapacity:[boardMap count]];
+ for (NSString *name in [boardMap allKeys]) {
+ UIStoryboard *board = [UIStoryboard storyboardWithName:[NSString stringWithFormat:fmt, name] bundle:nil];
+ UIViewController *controller = [board instantiateInitialViewController];
+ controller.title = boardMap[name];
+ [controllers addObject:controller];
+
+ }
+
+ UITabBarController *tabc = (UITabBarController *)self.window.rootViewController;
+ [controllers insertObject:tabc.viewControllers[0] atIndex:0];
+ [controllers addObject:[tabc.viewControllers lastObject]];
+ [tabc setViewControllers:controllers];
+
return YES;
}
View
28 ios/Camp Joy Outdoors/CJOGlossaryDefinitionViewController.m
@@ -7,32 +7,38 @@
//
#import "CJOGlossaryDefinitionViewController.h"
+#import "CJOGlossaryTerm.h"
@interface CJOGlossaryDefinitionViewController ()
+@property (weak, nonatomic) IBOutlet UIImageView *definitionImageView;
+@property (weak, nonatomic) IBOutlet UILabel *descriptionLabel;
+
@end
@implementation CJOGlossaryDefinitionViewController
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+-(void)viewDidLoad
{
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
+ if (_word) {
+ [self updateDisplay];
}
- return self;
}
-- (void)viewDidLoad
+-(void)setWord:(NSString *)word
{
- [super viewDidLoad];
- // Do any additional setup after loading the view.
+ _word = word;
+ [self updateDisplay];
}
-- (void)didReceiveMemoryWarning
+-(void)updateDisplay
{
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
+ CJOGlossaryTerm *term = [CJOModel findTermByName:_word];
+ self.title = term.name;
+ self.descriptionLabel.text = term.description;
+ NSString *fmt = @"glossary/%@";
+ NSString *imageName = [NSString stringWithFormat:fmt, term.image];
+ self.definitionImageView.image = [UIImage imageNamed:imageName];
}
@end
View
2 ios/Camp Joy Outdoors/CJOGlossaryViewController.h
@@ -8,6 +8,6 @@
#import <UIKit/UIKit.h>
-@interface CJOGlossaryViewController : UIViewController
+@interface CJOGlossaryViewController : UITableViewController
@end
View
52 ios/Camp Joy Outdoors/CJOGlossaryViewController.m
@@ -7,32 +7,58 @@
//
#import "CJOGlossaryViewController.h"
+#import "CJOGlossaryDefinitionViewController.h"
@interface CJOGlossaryViewController ()
-
+@property (strong, nonatomic) NSArray *terms;
+@property (strong, nonatomic) CJOGlossaryTerm *selectedTerm;
@end
@implementation CJOGlossaryViewController
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+-(void)viewDidLoad
{
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
+ self.terms = [[CJOModel terms] copy];
+
+}
+
+#pragma mark - TableView Datasource
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+ return 1;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+ return [self.terms count];
}
-- (void)viewDidLoad
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
- [super viewDidLoad];
- // Do any additional setup after loading the view.
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"definition" forIndexPath:indexPath];
+
+ return cell;
}
-- (void)didReceiveMemoryWarning
+-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
+ CJOGlossaryTerm *term = [self.terms objectAtIndex:indexPath.row];
+ cell.textLabel.text = term.name;
+ cell.detailTextLabel.text = term.description;
+}
+
+-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ self.selectedTerm = [self.terms objectAtIndex:indexPath.row];
+ [self performSegueWithIdentifier:@"definition" sender:self];
+}
+
+-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
+{
+ if ([segue.identifier isEqualToString:@"definition"]) {
+ CJOGlossaryDefinitionViewController *dvc = (CJOGlossaryDefinitionViewController *)segue.destinationViewController;
+ dvc.word = self.selectedTerm.name;
+ }
}
@end
View
2 ios/Camp Joy Outdoors/Camp Joy Outdoors-Prefix.pch
@@ -14,3 +14,5 @@
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
+
+#import "CJOModel.h"
View
95 ios/Camp Joy Outdoors/glossary_iPhone.storyboard
@@ -1,24 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4510" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="1fh-HY-3Bj">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4510" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="Wim-UL-xfN">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3742"/>
</dependencies>
<scenes>
- <!--Table View Controller-->
+ <!--Glossary View Controller - Glossary-->
<scene sceneID="Nmu-26-vTB">
<objects>
- <tableViewController id="1fh-HY-3Bj" sceneMemberID="viewController">
+ <tableViewController id="1fh-HY-3Bj" customClass="CJOGlossaryViewController" sceneMemberID="viewController">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="mfs-3l-7wW">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
- <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="6fX-mA-OVv">
- <rect key="frame" x="0.0" y="22" width="320" height="44"/>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="definition" textLabel="47m-hO-MWe" detailTextLabel="vur-pW-i0v" style="IBUITableViewCellStyleSubtitle" id="E8g-yF-VzN">
+ <rect key="frame" x="0.0" y="86" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
- <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6fX-mA-OVv" id="cwS-SX-cyu">
- <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="E8g-yF-VzN" id="och-Pz-vgv">
+ <rect key="frame" x="0.0" y="0.0" width="287" height="43"/>
<autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="47m-hO-MWe">
+ <rect key="frame" x="15" y="3" width="34" height="22"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <fontDescription key="fontDescription" type="system" pointSize="18"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Subtitle" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="vur-pW-i0v">
+ <rect key="frame" x="15" y="25" width="43" height="15"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <fontDescription key="fontDescription" type="system" pointSize="12"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
</tableViewCellContentView>
</tableViewCell>
</prototypes>
@@ -27,32 +43,81 @@
<outlet property="delegate" destination="1fh-HY-3Bj" id="ovw-8k-2Yz"/>
</connections>
</tableView>
+ <navigationItem key="navigationItem" title="Glossary" id="IRN-Be-RhV"/>
<connections>
<segue destination="HIq-Yg-oHl" kind="push" identifier="definition" id="SOq-j3-Ylc"/>
</connections>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="EmL-os-Ljo" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
- <point key="canvasLocation" x="48" y="118"/>
+ <point key="canvasLocation" x="509" y="118"/>
</scene>
- <!--Glossary Definition View Controller-->
+ <!--Glossary Definition View Controller - Word-->
<scene sceneID="Lnu-9d-4cC">
<objects>
- <viewController id="HIq-Yg-oHl" customClass="CJOGlossaryDefinitionViewController" sceneMemberID="viewController">
+ <viewController storyboardIdentifier="definition" useStoryboardIdentifierAsRestorationIdentifier="YES" id="HIq-Yg-oHl" customClass="CJOGlossaryDefinitionViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="TRP-5W-pwr"/>
<viewControllerLayoutGuide type="bottom" id="cd4-9f-jgA"/>
</layoutGuides>
- <view key="view" contentMode="scaleToFill" id="qlK-Pe-E7A">
+ <scrollView key="view" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" ambiguous="YES" id="jba-CA-TCv">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
- <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
- </view>
- <navigationItem key="navigationItem" id="Eg3-2Q-aQb"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Definition text that is long and should have word wrapping" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" preferredMaxLayoutWidth="290" translatesAutoresizingMaskIntoConstraints="NO" id="Aju-tm-RYB">
+ <rect key="frame" x="16" y="184" width="290" height="41"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wVg-8h-C2B">
+ <rect key="frame" x="-1" y="-1" width="320" height="175"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="320" id="1gM-y5-FZt"/>
+ <constraint firstAttribute="height" constant="175" id="tmS-Bp-fJ6"/>
+ </constraints>
+ </imageView>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstAttribute="trailing" secondItem="Aju-tm-RYB" secondAttribute="trailing" constant="14" id="01d-or-Apt"/>
+ <constraint firstItem="Aju-tm-RYB" firstAttribute="leading" secondItem="jba-CA-TCv" secondAttribute="leading" constant="16" id="1Gp-ia-gxi"/>
+ <constraint firstItem="Aju-tm-RYB" firstAttribute="top" secondItem="wVg-8h-C2B" secondAttribute="bottom" constant="10" id="CCu-Sp-dH0"/>
+ <constraint firstItem="wVg-8h-C2B" firstAttribute="top" secondItem="TRP-5W-pwr" secondAttribute="bottom" constant="-65" id="G4u-BO-NbQ"/>
+ <constraint firstAttribute="centerX" secondItem="wVg-8h-C2B" secondAttribute="centerX" constant="1" id="H2v-Mt-HqO"/>
+ </constraints>
+ </scrollView>
+ <navigationItem key="navigationItem" title="Word" id="jhy-ih-9BV"/>
+ <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
+ <connections>
+ <outlet property="definitionImageView" destination="wVg-8h-C2B" id="gSF-DC-GDJ"/>
+ <outlet property="descriptionLabel" destination="Aju-tm-RYB" id="Vhr-id-mDF"/>
+ </connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="yjB-wP-w8b" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
- <point key="canvasLocation" x="425" y="118"/>
+ <point key="canvasLocation" x="951" y="118"/>
+ </scene>
+ <!--Navigation Controller-->
+ <scene sceneID="2de-62-oj9">
+ <objects>
+ <navigationController automaticallyAdjustsScrollViewInsets="NO" id="Wim-UL-xfN" sceneMemberID="viewController">
+ <toolbarItems/>
+ <navigationBar key="navigationBar" contentMode="scaleToFill" id="jfv-jL-GSk">
+ <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ </navigationBar>
+ <nil name="viewControllers"/>
+ <connections>
+ <segue destination="1fh-HY-3Bj" kind="relationship" relationship="rootViewController" id="lZo-JZ-6fk"/>
+ </connections>
+ </navigationController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="zwU-mp-808" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="-17" y="118"/>
</scene>
</scenes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">

No commit comments for this range

Something went wrong with that request. Please try again.