mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Rewriting story page control to use autolayout.
This commit is contained in:
parent
b35ad92e98
commit
2829565167
9 changed files with 209 additions and 6987 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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"],
|
||||
|
|
|
@ -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];
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
@ -218,9 +218,9 @@ body.NB-iphone {
|
|||
line-height: 110%;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/** {*/
|
||||
/* box-sizing: border-box;*/
|
||||
/*}*/
|
||||
|
||||
|
||||
/* ========== */
|
||||
|
|
Loading…
Add table
Reference in a new issue