diff options
author | Eddie Ehlin <eddiex@eddiex.se> | 2013-02-23 18:53:37 +0100 |
---|---|---|
committer | Eddie Ehlin <eddiex@eddiex.se> | 2013-02-23 18:53:37 +0100 |
commit | 06fcd32c074dd7413d54d1025276040128264fdf (patch) | |
tree | 0a363ac44b65c09df7041060e4cd480d9a6a3d8f /iBean | |
parent | e16b75a3ff640188fe6ea980355f7ea4491e2629 (diff) | |
download | iBean-06fcd32c074dd7413d54d1025276040128264fdf.tar.gz iBean-06fcd32c074dd7413d54d1025276040128264fdf.zip |
Initial version of the extraction timer for bean collection (drop-down style).
Diffstat (limited to 'iBean')
-rw-r--r-- | iBean/iBean.xcodeproj/project.pbxproj | 4 | ||||
-rw-r--r-- | iBean/iBean.xcodeproj/project.xcworkspace/xcuserdata/eddiex.xcuserdatad/UserInterfaceState.xcuserstate | bin | 49744 -> 51543 bytes | |||
-rw-r--r-- | iBean/iBean/.DS_Store | bin | 6148 -> 6148 bytes | |||
-rw-r--r-- | iBean/iBean/BeanCollectionExtractionViewController.h | 4 | ||||
-rw-r--r-- | iBean/iBean/BeanCollectionExtractionViewController.m | 57 | ||||
-rw-r--r-- | iBean/iBean/Graphics/ibean-extraction-dropdown-background.png | bin | 0 -> 81326 bytes | |||
-rw-r--r-- | iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm | bin | 0 -> 201374 bytes | |||
-rw-r--r-- | iBean/iBean/iPhoneStoryboard.storyboard | 92 |
8 files changed, 124 insertions, 33 deletions
diff --git a/iBean/iBean.xcodeproj/project.pbxproj b/iBean/iBean.xcodeproj/project.pbxproj index 3cabdce..f2f8088 100644 --- a/iBean/iBean.xcodeproj/project.pbxproj +++ b/iBean/iBean.xcodeproj/project.pbxproj @@ -37,6 +37,7 @@ 024CB03716C2EF10009CBC15 /* UITableView+Extra.m in Sources */ = {isa = PBXBuildFile; fileRef = 024CB03616C2EF10009CBC15 /* UITableView+Extra.m */; }; 024CB03916C2EFD5009CBC15 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 024CB03816C2EFD5009CBC15 /* QuartzCore.framework */; }; 024CC6B016D0F33200F84F3D /* Threshold.m in Sources */ = {isa = PBXBuildFile; fileRef = 024CC6AF16D0F33200F84F3D /* Threshold.m */; }; + 024CC6EB16D6B36000F84F3D /* ibean-extraction-dropdown-background.png in Resources */ = {isa = PBXBuildFile; fileRef = 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */; }; 024F676D16A4A61D004A1201 /* InstantExtractionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 024F676C16A4A61D004A1201 /* InstantExtractionViewController.m */; }; 0276253916B58D6000EE2F4E /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0276253816B58D6000EE2F4E /* SettingsViewController.m */; }; 0276253C16B59E4C00EE2F4E /* Configuration.m in Sources */ = {isa = PBXBuildFile; fileRef = 0276253B16B59E4C00EE2F4E /* Configuration.m */; }; @@ -98,6 +99,7 @@ 024CB03816C2EFD5009CBC15 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 024CC6AE16D0F33200F84F3D /* Threshold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Threshold.h; sourceTree = "<group>"; }; 024CC6AF16D0F33200F84F3D /* Threshold.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Threshold.m; sourceTree = "<group>"; }; + 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ibean-extraction-dropdown-background.png"; path = "Graphics/ibean-extraction-dropdown-background.png"; 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>"; }; 0276253716B58D6000EE2F4E /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = "<group>"; }; @@ -319,6 +321,7 @@ 024CB02216C0543B009CBC15 /* Graphics */ = { isa = PBXGroup; children = ( + 024CC6EA16D6B36000F84F3D /* ibean-extraction-dropdown-background.png */, 023AAB3D16C98B2A00B6886C /* ibean-beancell-bean.png */, ); name = Graphics; @@ -409,6 +412,7 @@ 020C55B01691014E00D8224C /* Default-568h@2x.png in Resources */, 020C55BD169101FB00D8224C /* iPhoneStoryboard.storyboard in Resources */, 023AAB3E16C98B2A00B6886C /* ibean-beancell-bean.png in Resources */, + 024CC6EB16D6B36000F84F3D /* ibean-extraction-dropdown-background.png in Resources */, ); 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 f76b034..ca9b272 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/.DS_Store b/iBean/iBean/.DS_Store Binary files differindex 00a4276..e72bc32 100644 --- a/iBean/iBean/.DS_Store +++ b/iBean/iBean/.DS_Store diff --git a/iBean/iBean/BeanCollectionExtractionViewController.h b/iBean/iBean/BeanCollectionExtractionViewController.h index 88c8e92..79388f0 100644 --- a/iBean/iBean/BeanCollectionExtractionViewController.h +++ b/iBean/iBean/BeanCollectionExtractionViewController.h @@ -27,8 +27,10 @@ @property (weak, nonatomic) IBOutlet UITextView *beanCollectionNoteTextView; @property (weak, nonatomic) IBOutlet UILabel *extractionProgressLabel; @property (weak, nonatomic) IBOutlet UIButton *extractionButton; +@property (weak, nonatomic) IBOutlet UIView *extractionTimerView; +@property (weak, nonatomic) IBOutlet UIBarButtonItem *toggleExtractionTimerButton; /* UI Actions */ - (IBAction) startExtraction:(id)sender; - +- (IBAction) showExtractionTimer:(id)sender; @end diff --git a/iBean/iBean/BeanCollectionExtractionViewController.m b/iBean/iBean/BeanCollectionExtractionViewController.m index 7eeb574..21c27ba 100644 --- a/iBean/iBean/BeanCollectionExtractionViewController.m +++ b/iBean/iBean/BeanCollectionExtractionViewController.m @@ -13,6 +13,7 @@ #import "AppDelegate+Storage.h" #import "UITableView+Extra.h" #import "UIColor+Extra.h" +#import <QuartzCore/QuartzCore.h> @interface BeanCollectionExtractionViewController () @@ -33,6 +34,10 @@ { [super viewDidLoad]; // Do any additional setup after loading the view. + + //Bring the extraction timer view on top + [self.view bringSubviewToFront:self.extractionTimerView]; + //[self.beanCollectionNoteTextView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed: @"textview-bg.png"]]]; } @@ -65,7 +70,10 @@ if (self.beanCollection != nil) { self.navigationItem.title = self.beanCollection.name; - self.extractionProgressLabel.text = [self.beanCollection.extractionTime stringValue]; + self.extractionProgressLabel.text = [NSString stringWithFormat:@"%1.1f", [self.beanCollection.extractionTime doubleValue]]; + + //Make sure that extraction button always is non-toggled when entering the view. + self.toggleExtractionTimerButton.style = UIBarButtonItemStylePlain; if (![self.beanCollection.note isEqualToString:@""]) { @@ -124,8 +132,8 @@ NSLog(@"BeanCollectionExtractionViewController - timerInterrupted"); //Return UI to "Start extraction" state. - [self.extractionButton setTitle:@"Start extraction" forState:UIControlStateNormal]; - self.extractionProgressLabel.text = [self.beanCollection.extractionTime stringValue]; + [self.extractionButton setTitle:@"Start" forState:UIControlStateNormal]; + self.extractionProgressLabel.text = [NSString stringWithFormat:@"%1.1f", [self.beanCollection.extractionTime doubleValue]]; self.extractionInProgress = NO; } @@ -140,7 +148,7 @@ if ([(AppDelegate*) [[UIApplication sharedApplication] delegate] getTimer] == nil || self.extractionInProgress == NO) { self.extractionProgress = [self.beanCollection.extractionTime doubleValue]; - [self.extractionButton setTitle:@"Stop extraction" forState:UIControlStateNormal]; + [self.extractionButton setTitle:@"Stop" forState:UIControlStateNormal]; self.extractionInProgress = YES; [(AppDelegate*) [[UIApplication sharedApplication] delegate] createTimer:self :@selector(updateExtractionProgress) :nil :YES]; @@ -151,6 +159,47 @@ } } +- (void) showExtractionTimer:(id)sender +{ + [UIView animateWithDuration:0.2f delay: 0.0f options: UIViewAnimationOptionCurveEaseInOut + animations:^{ + if (self.extractionTimerView.frame.origin.y < 0) + { + self.toggleExtractionTimerButton.style = UIBarButtonItemStyleDone; + //Slide in + self.extractionTimerView.frame = CGRectMake( + self.extractionTimerView.frame.origin.x, + 0.0, + self.extractionTimerView.frame.size.width, + self.extractionTimerView.frame.size.height); + + //Drop shadow + [self.extractionTimerView.layer setShadowColor:[UIColor blackColor].CGColor]; + [self.extractionTimerView.layer setShadowOpacity:0.8]; + [self.extractionTimerView.layer setShadowRadius:3.0]; + [self.extractionTimerView.layer setShadowOffset:CGSizeMake(2.0, 2.0)]; + } + else + { + self.toggleExtractionTimerButton.style = UIBarButtonItemStylePlain; + //Slide out + self.extractionTimerView.frame = CGRectMake( + self.extractionTimerView.frame.origin.x, + self.extractionTimerView.frame.size.height * -1, + self.extractionTimerView.frame.size.width, + self.extractionTimerView.frame.size.height); + //Remove shadow + //[self.extractionTimerView.layer setShadowOpacity:0.0]; + [self.extractionTimerView.layer setShadowRadius:0.0]; + [self.extractionTimerView.layer setShadowOffset:CGSizeMake(0.0, 0.0)]; + } + } + completion:^(BOOL finished){ + NSLog(@"Anim done!"); + } + ]; +} + /***************************************************** Delegates *****************************************************/ diff --git a/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png Binary files differnew file mode 100644 index 0000000..07b0dd6 --- /dev/null +++ b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.png diff --git a/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm Binary files differnew file mode 100644 index 0000000..a84fc61 --- /dev/null +++ b/iBean/iBean/Graphics/ibean-extraction-dropdown-background.pxm diff --git a/iBean/iBean/iPhoneStoryboard.storyboard b/iBean/iBean/iPhoneStoryboard.storyboard index c23e3fc..5856bcd 100644 --- a/iBean/iBean/iPhoneStoryboard.storyboard +++ b/iBean/iBean/iPhoneStoryboard.storyboard @@ -1101,13 +1101,54 @@ <rect key="frame" x="0.0" y="64" width="320" height="455"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> + <view alpha="0.90000000000000002" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rra-M1-0R9"> + <subviews> + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="ibean-extraction-dropdown-background.png" translatesAutoresizingMaskIntoConstraints="NO" id="8F1-ZM-Rbe"/> + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="XX.x" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="05C-Wm-dzE"> + <constraints> + <constraint firstAttribute="height" constant="62" id="dYg-S0-WR7"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="64"/> + <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> + <nil key="highlightedColor"/> + <color key="shadowColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> + <size key="shadowOffset" width="0.0" height="1"/> + </label> + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Eiq-kN-FyK"> + <constraints> + <constraint firstAttribute="width" constant="94" id="jo6-rt-MJm"/> + </constraints> + <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/> + <state key="normal" title="Start"> + <color key="titleColor" cocoaTouchSystemColor="darkTextColor"/> + <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> + </state> + <state key="highlighted"> + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> + </state> + <connections> + <action selector="startExtraction:" destination="aA5-tc-vwr" eventType="touchUpInside" id="8e4-x0-uqi"/> + </connections> + </button> + </subviews> + <color key="backgroundColor" cocoaTouchSystemColor="viewFlipsideBackgroundColor"/> + <constraints> + <constraint firstItem="8F1-ZM-Rbe" firstAttribute="leading" secondItem="rra-M1-0R9" secondAttribute="leading" type="default" id="Baw-6p-yOh"/> + <constraint firstItem="05C-Wm-dzE" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" constant="57" id="P9H-mW-vwH"/> + <constraint firstItem="05C-Wm-dzE" firstAttribute="leading" secondItem="rra-M1-0R9" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="VFw-dV-has"/> + <constraint firstAttribute="trailing" secondItem="Eiq-kN-FyK" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="cpJ-7f-QAc"/> + <constraint firstItem="Eiq-kN-FyK" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" constant="66" id="mbt-jO-WmY"/> + <constraint firstItem="Eiq-kN-FyK" firstAttribute="leading" secondItem="05C-Wm-dzE" secondAttribute="trailing" constant="8" symbolic="YES" type="default" id="oXH-Ha-Ash"/> + <constraint firstItem="8F1-ZM-Rbe" firstAttribute="bottom" secondItem="rra-M1-0R9" secondAttribute="bottom" type="default" id="qML-qu-7Zp"/> + <constraint firstItem="8F1-ZM-Rbe" firstAttribute="top" secondItem="rra-M1-0R9" secondAttribute="top" type="default" id="rgc-Ky-uZP"/> + </constraints> + </view> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lWi-pD-I1j" customClass="BeanCollectionExtractionScrollView"> <subviews> <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" dataMode="prototypes" style="plain" separatorStyle="none" allowsSelection="NO" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="nNM-14-LcQ"> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <constraints> <constraint firstAttribute="height" constant="89" id="ulf-w1-iKE"/> - <constraint firstAttribute="width" constant="320" id="vRm-5F-Wp0"/> </constraints> <prototypes> <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="BeanCell" rowHeight="60" id="GFY-k6-GqL" customClass="BeanCell"> @@ -1186,51 +1227,42 @@ </subviews> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <constraints> + <constraint firstAttribute="bottom" secondItem="WyC-9J-FOJ" secondAttribute="bottom" constant="80" id="AnZ-Ou-PC5"/> <constraint firstItem="nNM-14-LcQ" firstAttribute="leading" secondItem="lWi-pD-I1j" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="Fjx-gD-Ph5"/> <constraint firstItem="nNM-14-LcQ" firstAttribute="top" secondItem="lWi-pD-I1j" secondAttribute="top" constant="20" symbolic="YES" type="default" id="FtY-Zh-q0q"/> <constraint firstItem="WyC-9J-FOJ" firstAttribute="leading" secondItem="lWi-pD-I1j" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="Lb4-0U-ujx"/> - <constraint firstItem="WyC-9J-FOJ" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="M8q-m1-I5x"/> - <constraint firstAttribute="bottom" secondItem="WyC-9J-FOJ" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="ZJd-94-CmJ"/> <constraint firstAttribute="trailing" secondItem="WyC-9J-FOJ" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="bjg-lY-kza"/> <constraint firstItem="WyC-9J-FOJ" firstAttribute="top" secondItem="nNM-14-LcQ" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="fPM-8S-dGh"/> <constraint firstAttribute="trailing" secondItem="nNM-14-LcQ" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="ffc-G9-gKf"/> + <constraint firstItem="nNM-14-LcQ" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="tjo-rC-SdR"/> </constraints> </scrollView> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YJ7-1f-6ZW"> - <fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/> - <state key="normal" title="Start extraction"> - <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/> - <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> - </state> - <connections> - <action selector="startExtraction:" destination="aA5-tc-vwr" eventType="touchUpInside" id="VkN-OE-9wh"/> - </connections> - </button> - <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Extraction counter" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OLN-e5-oOe"> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> - <nil key="highlightedColor"/> - </label> </subviews> - <color key="backgroundColor" red="0.34650985049999999" green="0.21581921879999999" blue="0.1054245046" alpha="1" colorSpace="calibratedRGB"/> <constraints> + <constraint firstItem="rra-M1-0R9" firstAttribute="top" secondItem="Wfz-bK-fv9" secondAttribute="top" constant="-250" id="0Pe-jV-Y9A"/> <constraint firstItem="lWi-pD-I1j" firstAttribute="top" secondItem="Wfz-bK-fv9" secondAttribute="top" constant="-20" id="23s-Qj-OI3"/> - <constraint firstAttribute="bottom" secondItem="OLN-e5-oOe" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="5Qr-Sh-PDH"/> - <constraint firstItem="lWi-pD-I1j" firstAttribute="centerX" secondItem="Wfz-bK-fv9" secondAttribute="centerX" type="default" id="TpB-6n-I3J"/> - <constraint firstAttribute="trailing" secondItem="YJ7-1f-6ZW" secondAttribute="trailing" constant="20" symbolic="YES" type="default" id="gAH-4W-K42"/> - <constraint firstItem="OLN-e5-oOe" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" constant="20" symbolic="YES" type="default" id="lYU-wl-w14"/> - <constraint firstItem="YJ7-1f-6ZW" firstAttribute="top" secondItem="lWi-pD-I1j" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="oQd-Hn-Q7R"/> - <constraint firstItem="YJ7-1f-6ZW" firstAttribute="centerY" secondItem="OLN-e5-oOe" secondAttribute="centerY" type="default" id="rZZ-sg-nWO"/> + <constraint firstItem="rra-M1-0R9" firstAttribute="centerX" secondItem="lWi-pD-I1j" secondAttribute="centerX" type="default" id="Q1f-lO-YVD"/> + <constraint firstItem="rra-M1-0R9" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" type="default" id="Xsh-N7-SFo"/> + <constraint firstItem="lWi-pD-I1j" firstAttribute="bottom" secondItem="Wfz-bK-fv9" secondAttribute="bottom" type="default" id="dSB-0x-tTb"/> + <constraint firstAttribute="bottom" secondItem="rra-M1-0R9" secondAttribute="bottom" constant="455" id="hdq-jm-LZE"/> + <constraint firstItem="lWi-pD-I1j" firstAttribute="leading" secondItem="Wfz-bK-fv9" secondAttribute="leading" constant="-20" id="mLb-KI-AQj"/> + <constraint firstItem="rra-M1-0R9" firstAttribute="trailing" secondItem="Wfz-bK-fv9" secondAttribute="trailing" type="default" id="rkI-EU-Vo1"/> </constraints> </view> <navigationItem key="navigationItem" id="nKM-NZ-clm"> - <barButtonItem key="rightBarButtonItem" title="Extract!" id="ikw-nF-0l3"/> + <barButtonItem key="rightBarButtonItem" title="Extract!" id="ikw-nF-0l3"> + <connections> + <action selector="showExtractionTimer:" destination="aA5-tc-vwr" id="HI3-s8-R1U"/> + </connections> + </barButtonItem> </navigationItem> <connections> <outlet property="beanCollectionNoteTextView" destination="WyC-9J-FOJ" id="ajj-RC-E9O"/> <outlet property="beanTableView" destination="nNM-14-LcQ" id="fOr-10-Kts"/> - <outlet property="extractionButton" destination="YJ7-1f-6ZW" id="tvs-fK-NQd"/> - <outlet property="extractionProgressLabel" destination="OLN-e5-oOe" id="X73-Gr-2yj"/> + <outlet property="extractionButton" destination="Eiq-kN-FyK" id="Jzg-9B-7Ve"/> + <outlet property="extractionProgressLabel" destination="05C-Wm-dzE" id="fPd-ul-hiL"/> + <outlet property="extractionTimerView" destination="rra-M1-0R9" id="Qae-E5-pcu"/> + <outlet property="toggleExtractionTimerButton" destination="ikw-nF-0l3" id="ZPG-GJ-AVM"/> </connections> </viewController> <placeholder placeholderIdentifier="IBFirstResponder" id="ZA6-Ra-Cp0" userLabel="First Responder" sceneMemberID="firstResponder"/> @@ -1260,6 +1292,7 @@ </scenes> <resources> <image name="ibean-beancell-bean.png" width="200" height="198"/> + <image name="ibean-extraction-dropdown-background.png" width="320" height="240"/> </resources> <classes> <class className="AddBeanViewController" superclassName="UIViewController"> @@ -1302,11 +1335,14 @@ <class className="BeanCollectionExtractionViewController" superclassName="UIViewController"> <source key="sourceIdentifier" type="project" relativePath="./Classes/BeanCollectionExtractionViewController.h"/> <relationships> + <relationship kind="action" name="showExtractionTimer:"/> <relationship kind="action" name="startExtraction:"/> <relationship kind="outlet" name="beanCollectionNoteTextView" candidateClass="UITextView"/> <relationship kind="outlet" name="beanTableView" candidateClass="UITableView"/> <relationship kind="outlet" name="extractionButton" candidateClass="UIButton"/> <relationship kind="outlet" name="extractionProgressLabel" candidateClass="UILabel"/> + <relationship kind="outlet" name="extractionTimerView" candidateClass="UIView"/> + <relationship kind="outlet" name="toggleExtractionTimerButton" candidateClass="UIBarButtonItem"/> </relationships> </class> <class className="BeanCollectionInfoViewController" superclassName="UIViewController"> |