diff options
author | Eddie Ehlin <eddiex@eddiex.se> | 2013-01-19 00:07:02 +0100 |
---|---|---|
committer | Eddie Ehlin <eddiex@eddiex.se> | 2013-01-19 00:07:02 +0100 |
commit | 8ed55c1c7891d76ae15c155c0469253ca8fb3f34 (patch) | |
tree | b7a74a2545ffca4ed423ef38e886df9013dddbab | |
parent | ac1de8f5356878226e38a45085a351dd9b7a8cef (diff) | |
download | iBean-8ed55c1c7891d76ae15c155c0469253ca8fb3f34.tar.gz iBean-8ed55c1c7891d76ae15c155c0469253ca8fb3f34.zip |
Added custom UITableViewCell for displaying bean information + extraction view controller (stub).
-rw-r--r-- | iBean/iBean.xcodeproj/project.pbxproj | 20 | ||||
-rw-r--r-- | iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate | bin | 34539 -> 36309 bytes | |||
-rw-r--r-- | iBean/iBean.xcodeproj/xcuserdata/eddiex.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist | 15 | ||||
-rw-r--r-- | iBean/iBean/BeanCell.h | 20 | ||||
-rw-r--r-- | iBean/iBean/BeanCell.m | 36 | ||||
-rw-r--r-- | iBean/iBean/BeanCollectionExtractionViewController.h | 26 | ||||
-rw-r--r-- | iBean/iBean/BeanCollectionExtractionViewController.m | 96 | ||||
-rw-r--r-- | iBean/iBean/BeanCollectionListViewController.m | 7 | ||||
-rw-r--r-- | iBean/iBean/iPhoneStoryboard.storyboard | 122 |
9 files changed, 324 insertions, 18 deletions
diff --git a/iBean/iBean.xcodeproj/project.pbxproj b/iBean/iBean.xcodeproj/project.pbxproj index 5775776..f809461 100644 --- a/iBean/iBean.xcodeproj/project.pbxproj +++ b/iBean/iBean.xcodeproj/project.pbxproj @@ -33,6 +33,8 @@ 020C569916A49C5900D8224C /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = 020C569816A49C5900D8224C /* Configuration.m */; }; 020C569C16A49C8300D8224C /* Configuration+Interface.m in Sources */ = {isa = PBXBuildFile; fileRef = 020C569B16A49C8300D8224C /* Configuration+Interface.m */; }; 024F676D16A4A61D004A1201 /* InstantExtractionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 024F676C16A4A61D004A1201 /* InstantExtractionViewController.m */; }; + 02E557AE16A9C1E40080FBBA /* BeanCollectionExtractionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 02E557AD16A9C1E40080FBBA /* BeanCollectionExtractionViewController.m */; }; + 02E557B116A9CFB50080FBBA /* BeanCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 02E557B016A9CFB50080FBBA /* BeanCell.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -80,6 +82,10 @@ 020C569B16A49C8300D8224C /* Configuration+Interface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Configuration+Interface.m"; sourceTree = "<group>"; }; 024F676B16A4A61D004A1201 /* InstantExtractionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstantExtractionViewController.h; sourceTree = "<group>"; }; 024F676C16A4A61D004A1201 /* InstantExtractionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InstantExtractionViewController.m; sourceTree = "<group>"; }; + 02E557AC16A9C1E40080FBBA /* BeanCollectionExtractionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeanCollectionExtractionViewController.h; sourceTree = "<group>"; }; + 02E557AD16A9C1E40080FBBA /* BeanCollectionExtractionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BeanCollectionExtractionViewController.m; sourceTree = "<group>"; }; + 02E557AF16A9CFB50080FBBA /* BeanCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeanCell.h; sourceTree = "<group>"; }; + 02E557B016A9CFB50080FBBA /* BeanCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BeanCell.m; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -176,6 +182,7 @@ 020C55D31695C2C800D8224C /* iBean */ = { isa = PBXGroup; children = ( + 02E557AA16A9C1B90080FBBA /* BeanCollectionExtraction */, 020C56081698F58900D8224C /* BeanCollectionList */, 020C56091698F59F00D8224C /* Step 1 - BeanCollectionInfo */, 020C56071698F4DC00D8224C /* Step 2 - BeanCollectionBeanList */, @@ -259,6 +266,17 @@ name = "Step 4 - Extraction"; sourceTree = "<group>"; }; + 02E557AA16A9C1B90080FBBA /* BeanCollectionExtraction */ = { + isa = PBXGroup; + children = ( + 02E557AF16A9CFB50080FBBA /* BeanCell.h */, + 02E557B016A9CFB50080FBBA /* BeanCell.m */, + 02E557AC16A9C1E40080FBBA /* BeanCollectionExtractionViewController.h */, + 02E557AD16A9C1E40080FBBA /* BeanCollectionExtractionViewController.m */, + ); + name = BeanCollectionExtraction; + sourceTree = "<group>"; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -342,6 +360,8 @@ 020C569916A49C5900D8224C /* Configuration.m in Sources */, 020C569C16A49C8300D8224C /* Configuration+Interface.m in Sources */, 024F676D16A4A61D004A1201 /* InstantExtractionViewController.m in Sources */, + 02E557AE16A9C1E40080FBBA /* BeanCollectionExtractionViewController.m in Sources */, + 02E557B116A9CFB50080FBBA /* BeanCell.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate b/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate Binary files differindex b35e28b..d93e807 100644 --- a/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate +++ b/iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/iBean/iBean.xcodeproj/xcuserdata/eddiex.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/iBean/iBean.xcodeproj/xcuserdata/eddiex.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist index 443de6d..05301bc 100644 --- a/iBean/iBean.xcodeproj/xcuserdata/eddiex.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ b/iBean/iBean.xcodeproj/xcuserdata/eddiex.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -2,19 +2,4 @@ <Bucket type = "1" version = "1.0"> - <FileBreakpoints> - <FileBreakpoint - shouldBeEnabled = "Yes" - ignoreCount = "0" - continueAfterRunningActions = "No" - filePath = "iBean/BeanCollectionInfoViewController.m" - timestampString = "379890282.494638" - startingColumnNumber = "9223372036854775807" - endingColumnNumber = "9223372036854775807" - startingLineNumber = "129" - endingLineNumber = "129" - landmarkName = "-initWithModeAndBeanCollection::" - landmarkType = "5"> - </FileBreakpoint> - </FileBreakpoints> </Bucket> diff --git a/iBean/iBean/BeanCell.h b/iBean/iBean/BeanCell.h new file mode 100644 index 0000000..f244eab --- /dev/null +++ b/iBean/iBean/BeanCell.h @@ -0,0 +1,20 @@ +// +// BeanCell.h +// iBean +// +// Created by Eddie Ehlin on 2013-01-18. +// Copyright (c) 2013 Eddie Ehlin. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@interface BeanCell : UITableViewCell +@property (weak, nonatomic) IBOutlet UIImageView *beanImageLeft; +@property (weak, nonatomic) IBOutlet UILabel *beanNameLabel; +@property (weak, nonatomic) IBOutlet UILabel *beanGrindSettingLabel; +@property (weak, nonatomic) IBOutlet UIImageView *beanImageRight; +@property (weak, nonatomic) IBOutlet UILabel *beanAmountLabel; + + +- (void) initWithNameGrindSettingAndAmount: (NSString*) name: (NSNumber*)grindSetting: (NSNumber*) amount; +@end diff --git a/iBean/iBean/BeanCell.m b/iBean/iBean/BeanCell.m new file mode 100644 index 0000000..cc5f663 --- /dev/null +++ b/iBean/iBean/BeanCell.m @@ -0,0 +1,36 @@ +// +// BeanCell.m +// iBean +// +// Created by Eddie Ehlin on 2013-01-18. +// Copyright (c) 2013 Eddie Ehlin. All rights reserved. +// + +#import "BeanCell.h" + +@implementation BeanCell + +- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier +{ + self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; + if (self) { + // Initialization code + } + return self; +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated +{ + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (void) initWithNameGrindSettingAndAmount: (NSString*) name: (NSNumber*)grindSetting: (NSNumber*) amount +{ + self.beanNameLabel.text = name; + self.beanGrindSettingLabel.text = [NSString stringWithFormat:@"%@", grindSetting]; + self.beanAmountLabel.text = [NSString stringWithFormat:@"%1.1f g", [amount doubleValue]]; +} + +@end diff --git a/iBean/iBean/BeanCollectionExtractionViewController.h b/iBean/iBean/BeanCollectionExtractionViewController.h new file mode 100644 index 0000000..4f7a608 --- /dev/null +++ b/iBean/iBean/BeanCollectionExtractionViewController.h @@ -0,0 +1,26 @@ +// +// BeanCollectionExtractionViewController.h +// iBean +// +// Created by Eddie Ehlin on 2013-01-18. +// Copyright (c) 2013 Eddie Ehlin. All rights reserved. +// + +#import <UIKit/UIKit.h> +@class BeanCollection; + +@interface BeanCollectionExtractionViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> + +@property (nonatomic, strong) BeanCollection *beanCollection; + +/* Utility methods */ +- (void) initViewController; +- (void) initWithBeanCollection:(BeanCollection*) bc; + +/* UI Outlets */ +@property (weak, nonatomic) IBOutlet UITableView *beanTableView; + +/* UI Actions */ + + +@end diff --git a/iBean/iBean/BeanCollectionExtractionViewController.m b/iBean/iBean/BeanCollectionExtractionViewController.m new file mode 100644 index 0000000..e89324c --- /dev/null +++ b/iBean/iBean/BeanCollectionExtractionViewController.m @@ -0,0 +1,96 @@ +// +// BeanCollectionExtractionViewController.m +// iBean +// +// Created by Eddie Ehlin on 2013-01-18. +// Copyright (c) 2013 Eddie Ehlin. All rights reserved. +// + +#import "BeanCollectionExtractionViewController.h" +#import "BeanCollection+Interface.h" +#import "BeanCell.h" +#import "Bean+Interface.h" + +@interface BeanCollectionExtractionViewController () + +@end + +@implementation BeanCollectionExtractionViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + [self initViewController]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +/***************************************************** + Utility methods + *****************************************************/ +#pragma mark - Utility methods +- (void) initViewController +{ + NSLog(@"BeanCollectionExtraction - initViewController"); + self.navigationItem.title = self.beanCollection.name; +} + +- (void) initWithBeanCollection:(BeanCollection *)bc +{ + self.beanCollection = bc; + +} + +/***************************************************** + UI Actions + *****************************************************/ +#pragma mark - UI action methods + +/***************************************************** + Delegates + *****************************************************/ +#pragma mark - UITableViewDelegate & datasource + +- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return self.beanCollection.beans.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"BeanCell"; + BeanCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; + + //Configure the cell and set its title + Bean *currentBean = [self.beanCollection.beans objectAtIndex:indexPath.row]; + + [cell initWithNameGrindSettingAndAmount:currentBean.name :currentBean.grindSetting :currentBean.amount]; + + return cell; +} + +@end diff --git a/iBean/iBean/BeanCollectionListViewController.m b/iBean/iBean/BeanCollectionListViewController.m index 5bb9b44..6c0f46c 100644 --- a/iBean/iBean/BeanCollectionListViewController.m +++ b/iBean/iBean/BeanCollectionListViewController.m @@ -8,6 +8,7 @@ #import "BeanCollectionListViewController.h" #import "BeanCollectionInfoViewController.h" +#import "BeanCollectionExtractionViewController.h" #import "BeanCollection.h" #import "AppDelegate+Storage.h" @@ -56,12 +57,12 @@ self.beanCollection = [(AppDelegate*) [[UIApplication sharedApplication] delegate] createBeanCollection]; [infoViewController initWithModeAndBeanCollection:NO :self.beanCollection]; } - else if ([segue.identifier isEqualToString:@"ViewBeanCollectionInfoSegue"]) + else if ([segue.identifier isEqualToString:@"BeanCollectionListBeanCollectionExtractionSegue"]) { //Tell the view controller that we'll be handling/viewing an existing bean collection - BeanCollectionInfoViewController *infoViewController = segue.destinationViewController; + BeanCollectionExtractionViewController *extractionViewController = segue.destinationViewController; self.beanCollection = [self.beanCollections objectAtIndex:[self.tableView indexPathForSelectedRow].row]; - [infoViewController initWithModeAndBeanCollection:YES :self.beanCollection]; + [extractionViewController initWithBeanCollection: self.beanCollection]; } } diff --git a/iBean/iBean/iPhoneStoryboard.storyboard b/iBean/iBean/iPhoneStoryboard.storyboard index 358e404..f496545 100644 --- a/iBean/iBean/iPhoneStoryboard.storyboard +++ b/iBean/iBean/iPhoneStoryboard.storyboard @@ -28,6 +28,9 @@ </subviews> <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> </view> + <connections> + <segue destination="aA5-tc-vwr" kind="push" identifier="BeanCollectionListBeanCollectionExtractionSegue" id="QRH-Pr-UBY"/> + </connections> </tableViewCell> </prototypes> <sections/> @@ -630,6 +633,109 @@ </objects> <point key="canvasLocation" x="1749" y="403"/> </scene> + <!--Bean Collection Extraction View Controller--> + <scene sceneID="FPd-MK-Ops"> + <objects> + <viewController id="aA5-tc-vwr" customClass="BeanCollectionExtractionViewController" sceneMemberID="viewController"> + <view key="view" contentMode="scaleToFill" id="Wfz-bK-fv9"> + <rect key="frame" x="0.0" y="64" width="320" height="455"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <subviews> + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" allowsSelection="NO" rowHeight="60" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="nNM-14-LcQ"> + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> + <constraints> + <constraint firstAttribute="height" constant="265" id="MZh-YD-ebb"/> + </constraints> + <prototypes> + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="BeanCell" rowHeight="60" id="GFY-k6-GqL" customClass="BeanCell"> + <rect key="frame" x="0.0" y="46" width="320" height="61"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> + <rect key="frame" x="10" y="1" width="300" height="59"/> + <autoresizingMask key="autoresizingMask"/> + <subviews> + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="k5L-1w-O9k"> + <constraints> + <constraint firstAttribute="height" constant="43" id="U2T-ao-Szq"/> + <constraint firstAttribute="width" constant="48" id="V9C-sk-j6i"/> + </constraints> + </imageView> + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Bean name" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6BI-CV-5ED"> + <constraints> + <constraint firstAttribute="width" constant="149" id="R75-YN-6cj"/> + <constraint firstAttribute="height" constant="21" id="cPO-Kr-w2I"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> + <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/> + </label> + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Grind setting" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SEv-Mc-lOV"> + <constraints> + <constraint firstAttribute="height" constant="21" id="aa2-WE-QFC"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> + <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/> + </label> + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Amount" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xmw-e4-noZ"> + <fontDescription key="fontDescription" type="system" pointSize="17"/> + <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/> + </label> + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2GK-CS-zgy"> + <constraints> + <constraint firstAttribute="height" constant="59" id="DQy-8I-fQ4"/> + <constraint firstAttribute="width" constant="87" id="ERq-Fo-mp1"/> + </constraints> + </imageView> + </subviews> + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> + </view> + <constraints> + <constraint firstAttribute="trailing" secondItem="Xmw-e4-noZ" secondAttribute="trailing" constant="30" id="1K7-bD-fde"/> + <constraint firstItem="2GK-CS-zgy" firstAttribute="leading" secondItem="SEv-Mc-lOV" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="2VR-qW-jA5"/> + <constraint firstItem="Xmw-e4-noZ" firstAttribute="top" secondItem="GFY-k6-GqL" secondAttribute="top" constant="19" id="3Qi-cA-7pg"/> + <constraint firstItem="2GK-CS-zgy" firstAttribute="top" secondItem="GFY-k6-GqL" secondAttribute="top" constant="1" id="43d-zJ-99N"/> + <constraint firstItem="6BI-CV-5ED" firstAttribute="leading" secondItem="k5L-1w-O9k" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="4Kv-4c-Gvf"/> + <constraint firstItem="k5L-1w-O9k" firstAttribute="leading" secondItem="GFY-k6-GqL" secondAttribute="leading" constant="10" id="8Uv-2a-9so"/> + <constraint firstItem="SEv-Mc-lOV" firstAttribute="leading" secondItem="k5L-1w-O9k" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="8f2-UX-Sae"/> + <constraint firstItem="k5L-1w-O9k" firstAttribute="centerY" secondItem="2GK-CS-zgy" secondAttribute="centerY" type="default" id="NTN-Lv-EKt"/> + <constraint firstItem="2GK-CS-zgy" firstAttribute="leading" secondItem="6BI-CV-5ED" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="PUO-UO-1ph"/> + <constraint firstItem="6BI-CV-5ED" firstAttribute="top" secondItem="k5L-1w-O9k" secondAttribute="top" type="default" id="duo-SS-MKg"/> + <constraint firstItem="SEv-Mc-lOV" firstAttribute="bottom" secondItem="k5L-1w-O9k" secondAttribute="bottom" type="default" id="fZo-8g-3Tu"/> + </constraints> + <connections> + <outlet property="beanAmountLabel" destination="Xmw-e4-noZ" id="yOh-Jm-eCd"/> + <outlet property="beanGrindSettingLabel" destination="SEv-Mc-lOV" id="bmF-mE-K60"/> + <outlet property="beanImageLeft" destination="k5L-1w-O9k" id="PTO-SU-myY"/> + <outlet property="beanImageRight" destination="2GK-CS-zgy" id="MVl-xR-hyY"/> + <outlet property="beanNameLabel" destination="6BI-CV-5ED" id="frx-6h-S3f"/> + </connections> + </tableViewCell> + </prototypes> + <connections> + <outlet property="dataSource" destination="aA5-tc-vwr" id="0Ql-EZ-yrJ"/> + <outlet property="delegate" destination="aA5-tc-vwr" id="Xh6-L2-tMD"/> + </connections> + </tableView> + </subviews> + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> + <constraints> + <constraint firstItem="nNM-14-LcQ" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" type="default" id="Wqq-SO-grV"/> + <constraint firstItem="nNM-14-LcQ" firstAttribute="top" secondItem="Wfz-bK-fv9" secondAttribute="top" type="default" id="g4Q-jg-4CN"/> + <constraint firstItem="nNM-14-LcQ" firstAttribute="trailing" secondItem="Wfz-bK-fv9" secondAttribute="trailing" type="default" id="gLN-37-rpr"/> + </constraints> + </view> + <navigationItem key="navigationItem" id="nKM-NZ-clm"> + <barButtonItem key="rightBarButtonItem" systemItem="edit" id="ikw-nF-0l3"/> + </navigationItem> + <connections> + <outlet property="beanTableView" destination="nNM-14-LcQ" id="fOr-10-Kts"/> + </connections> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="ZA6-Ra-Cp0" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="1285" y="1120"/> + </scene> </scenes> <classes> <class className="AddBeanViewController" superclassName="UIViewController"> @@ -647,6 +753,16 @@ <relationship kind="outlet" name="grinderSettingStepper" candidateClass="UIStepper"/> </relationships> </class> + <class className="BeanCell" superclassName="UITableViewCell"> + <source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCell.h"/> + <relationships> + <relationship kind="outlet" name="beanAmountLabel" candidateClass="UILabel"/> + <relationship kind="outlet" name="beanGrindSettingLabel" candidateClass="UILabel"/> + <relationship kind="outlet" name="beanImageLeft" candidateClass="UIImageView"/> + <relationship kind="outlet" name="beanImageRight" candidateClass="UIImageView"/> + <relationship kind="outlet" name="beanNameLabel" candidateClass="UILabel"/> + </relationships> + </class> <class className="BeanCollectionBeanListViewController" superclassName="UIViewController"> <source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCollectionBeanListViewController.h"/> <relationships> @@ -656,6 +772,12 @@ <relationship kind="outlet" name="beanListTableView" candidateClass="UITableView"/> </relationships> </class> + <class className="BeanCollectionExtractionViewController" superclassName="UIViewController"> + <source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCollectionExtractionViewController.h"/> + <relationships> + <relationship kind="outlet" name="beanTableView" candidateClass="UITableView"/> + </relationships> + </class> <class className="BeanCollectionInfoViewController" superclassName="UIViewController"> <source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCollectionInfoViewController.h"/> <relationships> |