Rewriting story page control to use autolayout.

This commit is contained in:
Samuel Clay 2015-09-23 13:02:25 -07:00
parent b35ad92e98
commit 2829565167
9 changed files with 209 additions and 6987 deletions

View file

@ -115,6 +115,15 @@
[super viewDidUnload];
}
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
if ([self presentedViewController]) {
[[self presentedViewController] viewWillTransitionToSize:size
withTransitionCoordinator:coordinator];
}
}
#pragma mark -
#pragma mark Memory management

View file

@ -2724,7 +2724,7 @@
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,
(unsigned long)NULL), ^(void) {
[self.database inDatabase:^(FMDatabase *db) {
NSLog(@"Saving scroll %ld in %@-%@", position, [story objectForKey:@"story_hash"], [story objectForKey:@"story_title"]);
// NSLog(@"Saving scroll %ld in %@-%@", position, [story objectForKey:@"story_hash"], [story objectForKey:@"story_title"]);
[db executeUpdate:@"INSERT INTO story_scrolls (story_feed_id, story_hash, story_timestamp, scroll) VALUES (?, ?, ?, ?)",
[story objectForKey:@"story_feed_id"],
[story objectForKey:@"story_hash"],

View file

@ -1204,7 +1204,7 @@
NSLog(@"Position too far, scaling back to max position: %ld > %ld", (long)position, maxPosition);
position = maxPosition;
}
NSLog(@"Scrolling to %ld / %.1f%% (%.f+%.f) on %@-%@", (long)position, scrollPct*100, strongSelf.webView.scrollView.contentSize.height, strongSelf.webView.frame.size.height, [story objectForKey:@"story_hash"], [strongSelf.activeStory objectForKey:@"story_title"]);
// NSLog(@"Scrolling to %ld / %.1f%% (%.f+%.f) on %@-%@", (long)position, scrollPct*100, strongSelf.webView.scrollView.contentSize.height, strongSelf.webView.frame.size.height, [story objectForKey:@"story_hash"], [strongSelf.activeStory objectForKey:@"story_title"]);
dispatch_async(dispatch_get_main_queue(), ^{
[strongSelf.webView.scrollView setContentOffset:CGPointMake(0, position) animated:YES];
});

View file

@ -57,6 +57,7 @@
@property (nonatomic) UIBarButtonItem *buttonBack;
@property (nonatomic) IBOutlet UIBarButtonItem *buttonAction;
@property (nonatomic) IBOutlet UIView *bottomSize;
@property (nonatomic) IBOutlet NSLayoutConstraint *bottomSizeHeightConstraint;
@property (nonatomic) IBOutlet UIBarButtonItem * spacerBarButton;
@property (nonatomic) IBOutlet UIBarButtonItem * spacer2BarButton;
@property (nonatomic) IBOutlet UIBarButtonItem * spacer3BarButton;

View file

@ -44,6 +44,7 @@
@synthesize subscribeButton;
@synthesize buttonBack;
@synthesize bottomSize;
@synthesize bottomSizeHeightConstraint;
@synthesize popoverController;
@synthesize loadingIndicator;
@synthesize inTouchMove;
@ -198,7 +199,7 @@
[self setNextPreviousButtons];
[self setTextButton];
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
BOOL swipeEnabled = [[userPreferences stringForKey:@"story_detail_swipe_left_edge"]
isEqualToString:@"pop_to_story_list"];;
@ -287,6 +288,11 @@
previousPage.view.hidden = NO;
}
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self reorientPages];
}
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
@ -336,16 +342,18 @@
}
- (void)adjustDragBar:(UIInterfaceOrientation)orientation {
CGRect scrollViewFrame = self.scrollView.frame;
CGRect traverseViewFrame = self.traverseView.frame;
// CGRect scrollViewFrame = self.scrollView.frame;
// CGRect traverseViewFrame = self.traverseView.frame;
if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad ||
UIInterfaceOrientationIsLandscape(orientation)) {
scrollViewFrame.size.height = self.view.frame.size.height;
self.bottomSize.hidden = YES;
// scrollViewFrame.size.height = self.view.bounds.size.height;
// self.bottomSize.hidden = YES;
[self.bottomSizeHeightConstraint setConstant:0];
} else {
scrollViewFrame.size.height = self.view.frame.size.height - 12;
self.bottomSize.hidden = NO;
// scrollViewFrame.size.height = self.view.bounds.size.height - 12;
// self.bottomSize.hidden = NO;
[self.bottomSizeHeightConstraint setConstant:12];
}
// self.scrollView.frame = scrollViewFrame;
@ -630,7 +638,7 @@
animations:^{
[self.traverseView setNeedsLayout];
self.traverseView.frame = CGRectMake(tvf.origin.x,
self.view.bounds.size.height - tvf.size.height,
self.view.bounds.size.height - tvf.size.height - bottomSizeHeightConstraint.constant,
tvf.size.width, tvf.size.height);
self.traverseView.alpha = 1;
self.traversePinned = YES;
@ -798,7 +806,7 @@
- (void)updatePageWithActiveStory:(NSInteger)location {
[appDelegate.storiesCollection pushReadStory:[appDelegate.activeStory objectForKey:@"story_hash"]];
[self.view setNeedsLayout];
// [self.view setNeedsLayout];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:

View file

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="8191" systemVersion="15A282b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="StoryPageControl">
<connections>
<outlet property="bottomSize" destination="YKz-PZ-s0t" id="P3I-Wx-dLN"/>
<outlet property="bottomSizeHeightConstraint" destination="Ugq-XC-pFz" id="N4h-uD-Xai"/>
<outlet property="buttonNext" destination="62" id="72"/>
<outlet property="buttonPrevious" destination="64" id="67"/>
<outlet property="buttonSend" destination="85" id="88"/>
@ -20,32 +21,43 @@
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view multipleTouchEnabled="YES" contentMode="scaleToFill" id="3">
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
<rect key="frame" x="0.0" y="44" width="414" height="692"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceHorizontal="YES" pagingEnabled="YES" delaysContentTouches="NO" bouncesZoom="NO" id="5">
<rect key="frame" x="0.0" y="0.0" width="320" height="448"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceHorizontal="YES" pagingEnabled="YES" delaysContentTouches="NO" bouncesZoom="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5">
<rect key="frame" x="0.0" y="0.0" width="414" height="680"/>
<animations/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<connections>
<outlet property="delegate" destination="-1" id="27"/>
</connections>
</scrollView>
<view contentMode="scaleToFill" id="75">
<rect key="frame" x="4" y="397" width="315.5" height="51"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="75">
<rect key="frame" x="0.0" y="629" width="414" height="51"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="traverse_background.png" id="71">
<rect key="frame" x="150" y="4" width="160" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="traverse_background.png" translatesAutoresizingMaskIntoConstraints="NO" id="71">
<rect key="frame" x="248" y="4" width="160" height="44"/>
<animations/>
<constraints>
<constraint firstAttribute="height" constant="44" id="IFH-LS-Jje"/>
<constraint firstAttribute="width" constant="160" id="kwh-gV-kd6"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="traverse_background.png" id="80">
<rect key="frame" x="4" y="4" width="139" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="traverse_background.png" translatesAutoresizingMaskIntoConstraints="NO" id="80">
<rect key="frame" x="4" y="4" width="143" height="44"/>
<animations/>
<constraints>
<constraint firstAttribute="width" constant="143" id="67v-42-N7m"/>
<constraint firstAttribute="height" constant="44" id="F8x-qV-bOM"/>
</constraints>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="64">
<rect key="frame" x="155.5" y="9" width="43" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="64">
<rect key="frame" x="254" y="9" width="43" height="34"/>
<animations/>
<constraints>
<constraint firstAttribute="height" constant="34" id="FnC-xb-r8x"/>
<constraint firstAttribute="width" constant="43" id="Z6I-Ot-2Bv"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
<inset key="contentEdgeInsets" minX="0.0" minY="0.0" maxX="20" maxY="0.0"/>
<state key="normal" backgroundImage="traverse_previous.png">
@ -60,9 +72,13 @@
<action selector="doPreviousStory:" destination="-1" eventType="touchUpInside" id="CGY-kv-b6L"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="62">
<rect key="frame" x="199.5" y="9" width="104" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="62">
<rect key="frame" x="298" y="9" width="104" height="34"/>
<animations/>
<constraints>
<constraint firstAttribute="width" constant="104" id="HmV-1Q-KBz"/>
<constraint firstAttribute="height" constant="34" id="aS7-gc-RoE"/>
</constraints>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="13"/>
<inset key="titleEdgeInsets" minX="2" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="NEXT" backgroundImage="traverse_next.png">
@ -80,9 +96,13 @@
<action selector="doNextUnreadStory:" destination="-1" eventType="touchUpInside" id="56v-Nl-KaO"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="81">
<rect key="frame" x="9" y="9" width="83" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="81">
<rect key="frame" x="9" y="9" width="87" height="34"/>
<animations/>
<constraints>
<constraint firstAttribute="width" constant="87" id="7sp-Ah-Pe4"/>
<constraint firstAttribute="height" constant="34" id="eL3-sd-n5q"/>
</constraints>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="13"/>
<inset key="titleEdgeInsets" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="TEXT" backgroundImage="traverse_text.png">
@ -100,9 +120,13 @@
<action selector="toggleTextView:" destination="-1" eventType="touchUpInside" id="cUj-T3-lKc"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="85">
<rect key="frame" x="93" y="9" width="44" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="85">
<rect key="frame" x="97" y="9" width="44" height="34"/>
<animations/>
<constraints>
<constraint firstAttribute="height" constant="34" id="Mn9-G7-LOb"/>
<constraint firstAttribute="width" constant="44" id="O2d-0S-56R"/>
</constraints>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="13"/>
<inset key="contentEdgeInsets" minX="0.0" minY="0.0" maxX="20" maxY="0.0"/>
<state key="normal" backgroundImage="traverse_send.png">
@ -120,40 +144,108 @@
<action selector="openSendToDialog:" destination="-1" eventType="touchUpInside" id="87"/>
</connections>
</button>
<activityIndicatorView opaque="NO" contentMode="scaleToFill" hidesWhenStopped="YES" animating="YES" style="gray" id="73">
<rect key="frame" x="205.5" y="16" width="20" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<activityIndicatorView opaque="NO" contentMode="scaleToFill" hidesWhenStopped="YES" animating="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="73">
<rect key="frame" x="304" y="16" width="20" height="20"/>
<animations/>
<constraints>
<constraint firstAttribute="width" constant="20" id="GOD-rV-vW8"/>
<constraint firstAttribute="height" constant="20" id="Ksw-lV-QhR"/>
</constraints>
<color key="color" red="0.60784316059999999" green="0.61568629740000003" blue="0.58823531870000001" alpha="1" colorSpace="deviceRGB"/>
</activityIndicatorView>
</subviews>
<animations/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="85" firstAttribute="top" secondItem="75" secondAttribute="top" constant="9" id="5Cq-8q-Cx5"/>
<constraint firstAttribute="trailing" secondItem="71" secondAttribute="trailing" constant="6" id="5ET-pu-V3i"/>
<constraint firstAttribute="bottom" secondItem="64" secondAttribute="bottom" constant="8" id="7Wu-eo-Pz3"/>
<constraint firstAttribute="bottom" secondItem="71" secondAttribute="bottom" constant="3" id="B0x-V4-UoQ"/>
<constraint firstItem="80" firstAttribute="top" secondItem="75" secondAttribute="top" constant="4" id="ElS-yF-Hrd"/>
<constraint firstItem="85" firstAttribute="leading" secondItem="81" secondAttribute="trailing" constant="1" id="KEv-6t-Wlz"/>
<constraint firstItem="73" firstAttribute="top" secondItem="75" secondAttribute="top" constant="16" id="L3U-IN-XbE"/>
<constraint firstItem="62" firstAttribute="leading" secondItem="64" secondAttribute="trailing" constant="1" id="Moh-P1-OLb"/>
<constraint firstItem="81" firstAttribute="top" secondItem="75" secondAttribute="top" constant="9" id="N1i-tE-iiS"/>
<constraint firstItem="62" firstAttribute="top" secondItem="75" secondAttribute="top" constant="9" id="RjJ-Ff-Lam"/>
<constraint firstItem="73" firstAttribute="leading" secondItem="64" secondAttribute="trailing" constant="7" id="TSS-qw-Oab"/>
<constraint firstAttribute="bottom" secondItem="80" secondAttribute="bottom" constant="3" id="V2M-bK-NoE"/>
<constraint firstAttribute="bottom" secondItem="81" secondAttribute="bottom" constant="8" id="Xlx-gb-Fj9"/>
<constraint firstItem="62" firstAttribute="leading" secondItem="64" secondAttribute="trailing" constant="1" id="YGF-nE-1iX"/>
<constraint firstAttribute="height" constant="51" id="bQc-Og-JgY"/>
<constraint firstItem="85" firstAttribute="leading" secondItem="81" secondAttribute="trailing" constant="1" id="d9L-5k-nsl"/>
<constraint firstAttribute="bottom" secondItem="73" secondAttribute="bottom" constant="15" id="dVt-VO-Q7X"/>
<constraint firstItem="71" firstAttribute="top" secondItem="75" secondAttribute="top" constant="4" id="fUQ-DO-Q28"/>
<constraint firstItem="64" firstAttribute="top" secondItem="75" secondAttribute="top" constant="9" id="fVP-fx-P1Y"/>
<constraint firstAttribute="trailing" secondItem="62" secondAttribute="trailing" constant="12" id="gj9-gi-NU1"/>
<constraint firstItem="80" firstAttribute="leading" secondItem="75" secondAttribute="leading" constant="4" id="lZh-iV-IwP"/>
<constraint firstItem="81" firstAttribute="leading" secondItem="75" secondAttribute="leading" constant="9" id="wcc-d3-pBm"/>
<constraint firstAttribute="bottom" secondItem="62" secondAttribute="bottom" constant="8" id="ydy-mj-RYr"/>
<constraint firstAttribute="bottom" secondItem="85" secondAttribute="bottom" constant="8" id="zhD-fx-yft"/>
</constraints>
</view>
<view contentMode="scaleToFill" id="YKz-PZ-s0t">
<rect key="frame" x="0.0" y="448" width="320" height="12"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YKz-PZ-s0t">
<rect key="frame" x="0.0" y="680" width="414" height="12"/>
<subviews>
<view contentMode="scaleToFill" id="MK4-IV-OSa">
<rect key="frame" x="0.0" y="-0.5" width="320" height="1"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MK4-IV-OSa">
<rect key="frame" x="0.0" y="-1" width="414" height="1"/>
<animations/>
<color key="backgroundColor" white="0.75644388689999997" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="TSL-hY-u15"/>
</constraints>
</view>
<view contentMode="scaleToFill" id="62E-7z-9mB">
<rect key="frame" x="0.0" y="11.5" width="320" height="1"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="62E-7z-9mB">
<rect key="frame" x="0.0" y="12" width="414" height="1"/>
<animations/>
<color key="backgroundColor" white="0.75644388689999997" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="eNC-Bd-hu0"/>
</constraints>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="drag_icon.png" id="kYw-ba-fFD">
<rect key="frame" x="0.0" y="1.5" width="320" height="9"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="drag_icon.png" translatesAutoresizingMaskIntoConstraints="NO" id="kYw-ba-fFD">
<rect key="frame" x="0.0" y="2" width="414" height="9"/>
<animations/>
<constraints>
<constraint firstAttribute="height" constant="9" id="Pta-oX-r3A"/>
</constraints>
</imageView>
</subviews>
<animations/>
<color key="backgroundColor" red="0.90980398650000005" green="0.91764712329999998" blue="0.89411771299999998" alpha="1" colorSpace="deviceRGB"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="MK4-IV-OSa" secondAttribute="trailing" id="1j6-sD-Ude"/>
<constraint firstItem="kYw-ba-fFD" firstAttribute="leading" secondItem="YKz-PZ-s0t" secondAttribute="leading" id="5XI-X3-78Q"/>
<constraint firstAttribute="trailing" secondItem="kYw-ba-fFD" secondAttribute="trailing" id="9KG-hc-ooV"/>
<constraint firstItem="MK4-IV-OSa" firstAttribute="top" secondItem="YKz-PZ-s0t" secondAttribute="top" constant="-1" id="QBY-vY-mvD"/>
<constraint firstAttribute="trailing" secondItem="62E-7z-9mB" secondAttribute="trailing" id="QpW-Dt-pzT"/>
<constraint firstItem="kYw-ba-fFD" firstAttribute="centerX" secondItem="YKz-PZ-s0t" secondAttribute="centerX" id="TXN-7o-yIm"/>
<constraint firstAttribute="height" constant="12" id="Ugq-XC-pFz"/>
<constraint firstItem="kYw-ba-fFD" firstAttribute="top" secondItem="MK4-IV-OSa" secondAttribute="bottom" constant="2" id="cra-V4-CXU"/>
<constraint firstItem="62E-7z-9mB" firstAttribute="leading" secondItem="YKz-PZ-s0t" secondAttribute="leading" id="ece-o4-1tu"/>
<constraint firstItem="MK4-IV-OSa" firstAttribute="leading" secondItem="YKz-PZ-s0t" secondAttribute="leading" id="q2z-oJ-uCi"/>
<constraint firstAttribute="bottom" secondItem="62E-7z-9mB" secondAttribute="bottom" constant="-1" id="ySe-IZ-lq2"/>
</constraints>
</view>
</subviews>
<animations/>
<color key="backgroundColor" cocoaTouchSystemColor="scrollViewTexturedBackgroundColor"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="5" secondAttribute="trailing" id="A4p-mh-u6O"/>
<constraint firstItem="YKz-PZ-s0t" firstAttribute="top" secondItem="5" secondAttribute="bottom" id="AOS-qV-fjZ"/>
<constraint firstItem="YKz-PZ-s0t" firstAttribute="leading" secondItem="3" secondAttribute="leading" id="G7a-2g-nwC"/>
<constraint firstItem="5" firstAttribute="leading" secondItem="3" secondAttribute="leading" id="Pnz-qi-mdZ"/>
<constraint firstAttribute="bottom" secondItem="YKz-PZ-s0t" secondAttribute="bottom" id="VJX-b2-ors"/>
<constraint firstItem="75" firstAttribute="leading" secondItem="3" secondAttribute="leading" id="htz-P9-PfM"/>
<constraint firstAttribute="trailing" secondItem="75" secondAttribute="trailing" id="k4E-iI-ANK"/>
<constraint firstAttribute="trailing" secondItem="YKz-PZ-s0t" secondAttribute="trailing" id="oHo-v4-1KC"/>
<constraint firstItem="YKz-PZ-s0t" firstAttribute="top" secondItem="75" secondAttribute="bottom" id="rgF-mh-lia"/>
<constraint firstItem="5" firstAttribute="top" secondItem="3" secondAttribute="top" id="sgh-qa-2V3"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" translucent="NO" prompted="NO"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina55"/>
<point key="canvasLocation" x="301" y="481"/>
</view>
</objects>
<resources>
@ -165,9 +257,4 @@
<image name="traverse_send.png" width="44" height="34"/>
<image name="traverse_text.png" width="94" height="34"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>

View file

@ -5,7 +5,7 @@
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
#define DEBUG 1
//#define DEBUG 1
//#define PROD_DEBUG 1
#ifdef DEBUG

File diff suppressed because it is too large Load diff

View file

@ -218,9 +218,9 @@ body.NB-iphone {
line-height: 110%;
}
* {
box-sizing: border-box;
}
/** {*/
/* box-sizing: border-box;*/
/*}*/
/* ========== */