From 238560662f4457c28585e080e516095400b7f5cd Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Thu, 30 May 2013 16:31:57 -0700 Subject: [PATCH] iOS App Version 2.1 --- media/ios/Classes/NewsBlurAppDelegate.m | 83 +- media/ios/Classes/StoryPageControl.m | 25 +- media/ios/Classes/StoryPageControl.xib | 1637 +---------------- .../Resources/traverse_background_left.png | Bin 0 -> 747 bytes .../Resources/traverse_background_left@2x.png | Bin 0 -> 1347 bytes 5 files changed, 83 insertions(+), 1662 deletions(-) create mode 100644 media/ios/Resources/traverse_background_left.png create mode 100644 media/ios/Resources/traverse_background_left@2x.png diff --git a/media/ios/Classes/NewsBlurAppDelegate.m b/media/ios/Classes/NewsBlurAppDelegate.m index cec74c536..4f5741c73 100644 --- a/media/ios/Classes/NewsBlurAppDelegate.m +++ b/media/ios/Classes/NewsBlurAppDelegate.m @@ -158,45 +158,6 @@ [window makeKeyAndVisible]; [self.feedsViewController fetchFeedList:YES]; - UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; - splashView = [[UIImageView alloc] init]; - int rotate = 0; - if (orientation == UIInterfaceOrientationPortraitUpsideDown) { - NSLog(@"UPSIDE DOWN"); - rotate = -2; - } else if (orientation == UIInterfaceOrientationLandscapeLeft) { - rotate = -1; - } else if (orientation == UIInterfaceOrientationLandscapeRight) { - rotate = 1; - } - splashView.transform = CGAffineTransformMakeRotation(M_PI * rotate * 90.0 / 180); - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && - UIInterfaceOrientationIsLandscape(orientation)) { - splashView.frame = self.view.frame; - splashView.image = [UIImage imageNamed:@"Default-Landscape.png"]; - } else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - splashView.frame = self.view.frame; - splashView.image = [UIImage imageNamed:@"Default-Portrait.png"]; - } else if (IS_IPHONE_5) { - splashView.frame = CGRectMake(0, 0, self.window.frame.size.width, 568); - splashView.image = [UIImage imageNamed:@"Default-568h.png"]; - } else { - splashView.frame = self.window.frame; - splashView.image = [UIImage imageNamed:@"Default.png"]; - } - -// [splashView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; - splashView.alpha = 1.0; - [window.rootViewController.view addSubview:splashView]; - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:.6]; - [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:window cache:YES]; - [UIView setAnimationDelegate:self]; - [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)]; - splashView.frame = CGRectMake(0, -1 * splashView.frame.size.height, splashView.frame.size.width, splashView.frame.size.height); - // splashView.frame = CGRectMake(-60, -80, 440, 728); - [UIView commitAnimations]; - [ShareThis startSessionWithFacebookURLSchemeSuffix:@"newsblur" pocketAPI:@"c23d9HbTT2a8fma098AfIr9zQTgcF0l9" readabilityKey:@"samuelclay" readabilitySecret:@"ktLQc88S9WCE8PfvZ4u4q995Q3HMzg6Q"]; [[UINavigationBar appearance] @@ -223,10 +184,54 @@ UITextAttributeTextShadowOffset, nil]]; + [self performSelectorOnMainThread:@selector(showSplashView) withObject:nil waitUntilDone:NO]; // [self showFirstTimeUser]; return YES; } +- (void)showSplashView { + UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; + splashView = [[UIImageView alloc] init]; + int rotate = 0; + if (orientation == UIInterfaceOrientationPortraitUpsideDown) { + NSLog(@"UPSIDE DOWN"); + rotate = -2; + } else if (orientation == UIInterfaceOrientationLandscapeLeft) { + rotate = -1; + } else if (orientation == UIInterfaceOrientationLandscapeRight) { + rotate = 1; + } + // splashView.transform = CGAffineTransformMakeRotation(M_PI * rotate * 90.0 / 180); + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && + UIInterfaceOrientationIsLandscape(orientation)) { + splashView.frame = CGRectMake(0, 0, self.view.frame.size.height, self.view.frame.size.width); + splashView.image = [UIImage imageNamed:@"Default-Landscape.png"]; + NSLog(@"Window frame; %@", NSStringFromCGRect(self.view.frame)); + } else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + splashView.frame = self.view.frame; + splashView.image = [UIImage imageNamed:@"Default-Portrait.png"]; + } else if (IS_IPHONE_5) { + splashView.frame = CGRectMake(0, 0, self.window.frame.size.width, 568); + splashView.image = [UIImage imageNamed:@"Default-568h.png"]; + } else { + splashView.frame = self.window.frame; + splashView.image = [UIImage imageNamed:@"Default.png"]; + } + + // [splashView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; + splashView.alpha = 1.0; + [window.rootViewController.view addSubview:splashView]; + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:.6]; + [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:window cache:YES]; + [UIView setAnimationDelegate:self]; + [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)]; +// splashView.alpha = 0; + splashView.frame = CGRectMake(0, -1 * splashView.frame.size.height, splashView.frame.size.width, splashView.frame.size.height); + // splashView.frame = CGRectMake(-60, -80, 440, 728); + [UIView commitAnimations]; +} + - (void)viewDidLoad { self.visibleUnreadCount = 0; self.savedStoriesCount = 0; diff --git a/media/ios/Classes/StoryPageControl.m b/media/ios/Classes/StoryPageControl.m index 6dd94672a..963b0e973 100644 --- a/media/ios/Classes/StoryPageControl.m +++ b/media/ios/Classes/StoryPageControl.m @@ -85,12 +85,10 @@ popoverClass = [WEPopoverController class]; - // adding HUD for progress bar - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapProgressBar:)]; - + // adding HUD for progress bar CGFloat radius = 8; circularProgressView = [[THCircularProgressView alloc] - initWithCenter:CGPointMake(self.traverseView.frame.size.width - 101, + initWithCenter:CGPointMake(self.buttonNext.frame.origin.x + 2*radius, self.traverseView.frame.size.height / 2) radius:radius lineWidth:radius / 4.0f @@ -99,9 +97,12 @@ progressBackgroundMode:THProgressBackgroundModeCircumference progressBackgroundColor:[UIColor colorWithRed:0.312f green:0.32f blue:0.296f alpha:.02f] percentage:20]; + circularProgressView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; [self.traverseView addSubview:circularProgressView]; UIView *tapIndicator = [[UIView alloc] initWithFrame:CGRectMake(circularProgressView.frame.origin.x - circularProgressView.frame.size.width / 2, circularProgressView.frame.origin.y - circularProgressView.frame.size.height / 2, circularProgressView.frame.size.width*2, circularProgressView.frame.size.height*2)]; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapProgressBar:)]; [tapIndicator addGestureRecognizer:tap]; + tapIndicator.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; [self.traverseView insertSubview:tapIndicator aboveSubview:circularProgressView]; self.loadingIndicator.frame = self.circularProgressView.frame; self.buttonNext.titleEdgeInsets = UIEdgeInsetsMake(0, 24, 0, 0); @@ -236,14 +237,12 @@ - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) { - - - NSLog(@"%f,%f",self.view.frame.size.width,self.view.frame.size.height); + NSLog(@"Rotate: %f,%f",self.view.frame.size.width,self.view.frame.size.height); } else if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)){ - - NSLog(@"%f,%f",self.view.frame.size.width,self.view.frame.size.height); + NSLog(@"Rotate: %f,%f",self.view.frame.size.width,self.view.frame.size.height); } + [self refreshPages]; [self layoutForInterfaceOrientation:toInterfaceOrientation]; } @@ -683,6 +682,14 @@ } - (void)setTextButton { + if (currentPage.pageIndex >= 0) { + [buttonText setEnabled:YES]; + [buttonText setAlpha:1]; + } else { + [buttonText setEnabled:NO]; + [buttonText setAlpha:.4]; + } + if (currentPage.inTextView) { [buttonText setTitle:[@"Story" uppercaseString] forState:UIControlStateNormal]; [buttonText setBackgroundImage:[UIImage imageNamed:@"traverse_text_on.png"] diff --git a/media/ios/Classes/StoryPageControl.xib b/media/ios/Classes/StoryPageControl.xib index 5e807eb06..fff81f865 100644 --- a/media/ios/Classes/StoryPageControl.xib +++ b/media/ios/Classes/StoryPageControl.xib @@ -45,7 +45,6 @@ {320, 460} - 3 @@ -66,34 +65,34 @@ 1289 {{151, 4}, {158, 44}} - _NS:9 NO IBCocoaTouchFramework - + NSImage traverse_background.png - + 1292 {{4, 4}, {105, 44}} - - + _NS:9 NO IBCocoaTouchFramework - + + NSImage + traverse_background_left.png + 1289 {{155.5, 9}, {43, 34}} - _NS:9 NO @@ -134,7 +133,6 @@ 1289 {{199.5, 9}, {104, 34}} - _NS:9 NO @@ -146,7 +144,7 @@ 0.0 20 NEXT - + 3 MC4zMzMzMzMzMzMzAA @@ -158,7 +156,7 @@ 2 MC41ODgyMzUzMTg3IDAuNTk2MDc4NDU1NCAwLjU3MjU0OTA0NTEAA - + 3 MC41AA @@ -166,7 +164,7 @@ NSImage traverse_next.png - + Helvetica-Bold Helvetica 2 @@ -174,12 +172,11 @@ - + 1292 {{9, 9.5}, {94, 34}} - _NS:9 NO @@ -191,7 +188,7 @@ 0.0 20 TEXT - + 3 MC4xOTY5OTQ3NTM2AA @@ -200,12 +197,12 @@ 2 MC41ODgyMzUzMTg3IDAuNTk2MDc4NDU1NCAwLjU3MjU0OTA0NTEAA - + NSImage traverse_text.png - + @@ -213,7 +210,6 @@ 1289 {{205.5, 16}, {20, 20}} - _NS:9 NO @@ -228,8 +224,7 @@ {{4.5, 409}, {315.5, 51}} - - + _NS:9 IBCocoaTouchFramework @@ -238,7 +233,6 @@ {320, 460} - 10 @@ -4688,7 +4682,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE buttonText - + 84 @@ -4721,7 +4715,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE toggleView: - + 7 @@ -4770,8 +4764,8 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - - + + @@ -4797,12 +4791,12 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 80 - + 81 - + @@ -4835,1599 +4829,14 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 84 - - - - ActivityModule - UIView - - IBProjectSource - ./Classes/ActivityModule.h - - - - AddSiteViewController - UIViewController - - id - id - id - id - id - - - - addSite - id - - - checkSiteAddress - id - - - doAddButton - id - - - doCancelButton - id - - - toggleAddFolder: - id - - - - UIActivityIndicatorView - UIBarButtonItem - UIButton - UITextField - UILabel - NewsBlurAppDelegate - UIBarButtonItem - UILabel - UIPickerView - UITextField - UINavigationBar - UIActivityIndicatorView - UITextField - UIScrollView - UITableView - - - - activityIndicator - UIActivityIndicatorView - - - addButton - UIBarButtonItem - - - addFolderButton - UIButton - - - addFolderInput - UITextField - - - addingLabel - UILabel - - - appDelegate - NewsBlurAppDelegate - - - cancelButton - UIBarButtonItem - - - errorLabel - UILabel - - - folderPicker - UIPickerView - - - inFolderInput - UITextField - - - navBar - UINavigationBar - - - siteActivityIndicator - UIActivityIndicatorView - - - siteAddressInput - UITextField - - - siteScrollView - UIScrollView - - - siteTable - UITableView - - - - IBProjectSource - ./Classes/AddSiteViewController.h - - - - BaseViewController - UIViewController - - IBProjectSource - ./Classes/BaseViewController.h - - - - DashboardViewController - UIViewController - - id - id - - - - doLogout: - id - - - tapSegmentedButton: - id - - - - ActivityModule - NewsBlurAppDelegate - UIWebView - InteractionsModule - UISegmentedControl - UIToolbar - UIToolbar - - - - activitiesModule - ActivityModule - - - appDelegate - NewsBlurAppDelegate - - - feedbackWebView - UIWebView - - - interactionsModule - InteractionsModule - - - segmentedButton - UISegmentedControl - - - toolbar - UIToolbar - - - topToolbar - UIToolbar - - - - IBProjectSource - ./Classes/DashboardViewController.h - - - - FeedDetailMenuViewController - UIViewController - - id - id - - - - changeOrder: - id - - - changeReadFilter: - id - - - - NewsBlurAppDelegate - UITableView - UISegmentedControl - UISegmentedControl - - - - appDelegate - NewsBlurAppDelegate - - - menuTableView - UITableView - - - orderSegmentedControl - UISegmentedControl - - - readFilterSegmentedControl - UISegmentedControl - - - - IBProjectSource - ./Classes/FeedDetailMenuViewController.h - - - - FeedDetailViewController - BaseViewController - - id - id - - - - doOpenMarkReadActionSheet: - id - - - doOpenSettingsActionSheet: - id - - - - NewsBlurAppDelegate - UIBarButtonItem - TransparentToolbar - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UITableView - UIBarButtonItem - - - - appDelegate - NewsBlurAppDelegate - - - feedMarkReadButton - UIBarButtonItem - - - rightToolbar - TransparentToolbar - - - separatorBarButton - UIBarButtonItem - - - settingsBarButton - UIBarButtonItem - - - spacer2BarButton - UIBarButtonItem - - - spacer3BarButton - UIBarButtonItem - - - spacerBarButton - UIBarButtonItem - - - storyTitlesTable - UITableView - - - titleImageBarButton - UIBarButtonItem - - - - IBProjectSource - ./Classes/FeedDetailViewController.h - - - - FeedsMenuViewController - UIViewController - - NewsBlurAppDelegate - UITableView - - - - appDelegate - NewsBlurAppDelegate - - - menuTableView - UITableView - - - - IBProjectSource - ./Classes/FeedsMenuViewController.h - - - - FirstTimeUserAddFriendsViewController - UIViewController - - id - id - id - id - - - - tapFacebookButton - id - - - tapNextButton - id - - - tapTwitterButton - id - - - toggleAutoFollowFriends: - id - - - - NewsBlurAppDelegate - UIActivityIndicatorView - UIButton - UILabel - UIBarButtonItem - UIActivityIndicatorView - UIButton - - - - appDelegate - NewsBlurAppDelegate - - - facebookActivityIndicator - UIActivityIndicatorView - - - facebookButton - UIButton - - - friendsLabel - UILabel - - - nextButton - UIBarButtonItem - - - twitterActivityIndicator - UIActivityIndicatorView - - - twitterButton - UIButton - - - - IBProjectSource - ./Classes/FirstTimeUserAddFriendsViewController.h - - - - FirstTimeUserAddNewsBlurViewController - UIViewController - - id - id - id - - - - tapNewsBlurButton: - id - - - tapNextButton - id - - - tapPopularButton: - id - - - - NewsBlurAppDelegate - UILabel - UIBarButtonItem - - - - appDelegate - NewsBlurAppDelegate - - - instructionsLabel - UILabel - - - nextButton - UIBarButtonItem - - - - IBProjectSource - ./Classes/FirstTimeUserAddNewsBlurViewController.h - - - - FirstTimeUserAddSitesViewController - UIViewController - - tapNextButton - id - - - tapNextButton - - tapNextButton - id - - - - UIActivityIndicatorView - NewsBlurAppDelegate - UITableView - UIButton - UIView - UILabel - UIBarButtonItem - UIScrollView - - - - activityIndicator - UIActivityIndicatorView - - - appDelegate - NewsBlurAppDelegate - - - categoriesTable - UITableView - - - googleReaderButton - UIButton - - - googleReaderButtonWrapper - UIView - - - instructionLabel - UILabel - - - nextButton - UIBarButtonItem - - - scrollView - UIScrollView - - - - IBProjectSource - ./Classes/FirstTimeUserAddSitesViewController.h - - - - FirstTimeUserViewController - UIViewController - - tapNextButton - id - - - tapNextButton - - tapNextButton - id - - - - NewsBlurAppDelegate - UILabel - UILabel - UIImageView - UIBarButtonItem - - - - appDelegate - NewsBlurAppDelegate - - - footer - UILabel - - - header - UILabel - - - logo - UIImageView - - - nextButton - UIBarButtonItem - - - - IBProjectSource - ./Classes/FirstTimeUserViewController.h - - - - FontSettingsViewController - UIViewController - - id - id - - - - changeFontSize: - id - - - changeFontStyle: - id - - - - NewsBlurAppDelegate - UISegmentedControl - UISegmentedControl - UILabel - UITableView - UILabel - - - - appDelegate - NewsBlurAppDelegate - - - fontSizeSegment - UISegmentedControl - - - fontStyleSegment - UISegmentedControl - - - largeFontSizeLabel - UILabel - - - menuTableView - UITableView - - - smallFontSizeLabel - UILabel - - - - IBProjectSource - ./Classes/FontSettingsViewController.h - - - - FriendsListViewController - UIViewController - - NewsBlurAppDelegate - UISearchBar - UITableView - - - - appDelegate - NewsBlurAppDelegate - - - friendSearchBar - UISearchBar - - - friendsTable - UITableView - - - - IBProjectSource - ./Classes/FriendsListViewController.h - - - - InteractionsModule - UIView - - IBProjectSource - ./Classes/InteractionsModule.h - - - - LoginViewController - UIViewController - - id - id - id - id - id - - - - selectLogin - id - - - selectLoginSignup - id - - - selectSignUp - id - - - tapLoginButton - id - - - tapSignUpButton - id - - - - NewsBlurAppDelegate - UITextField - UILabel - UILabel - UIView - UISegmentedControl - UITextField - UILabel - UILabel - UIButton - UIButton - UITextField - UITextField - UIView - UITextField - UILabel - UILabel - - - - appDelegate - NewsBlurAppDelegate - - - emailInput - UITextField - - - emailLabel - UILabel - - - errorLabel - UILabel - - - logInView - UIView - - - loginControl - UISegmentedControl - - - passwordInput - UITextField - - - passwordLabel - UILabel - - - passwordOptionalLabel - UILabel - - - selectLoginButton - UIButton - - - selectSignUpButton - UIButton - - - signUpPasswordInput - UITextField - - - signUpUsernameInput - UITextField - - - signUpView - UIView - - - usernameInput - UITextField - - - usernameLabel - UILabel - - - usernameOrEmailLabel - UILabel - - - - IBProjectSource - ./Classes/LoginViewController.h - - - - MoveSiteViewController - UIViewController - - id - id - id - id - - - - doCancelButton - id - - - doMoveButton - id - - - moveFolder - id - - - moveSite - id - - - - UIActivityIndicatorView - NewsBlurAppDelegate - UIBarButtonItem - UILabel - UIPickerView - UITextField - UIBarButtonItem - UILabel - UINavigationBar - UILabel - UITextField - - - - activityIndicator - UIActivityIndicatorView - - - appDelegate - NewsBlurAppDelegate - - - cancelButton - UIBarButtonItem - - - errorLabel - UILabel - - - folderPicker - UIPickerView - - - fromFolderInput - UITextField - - - moveButton - UIBarButtonItem - - - movingLabel - UILabel - - - navBar - UINavigationBar - - - titleLabel - UILabel - - - toFolderInput - UITextField - - - - IBProjectSource - ./Classes/MoveSiteViewController.h - - - - NBContainerViewController - UIViewController - - appDelegate - NewsBlurAppDelegate - - - appDelegate - - appDelegate - NewsBlurAppDelegate - - - - IBProjectSource - ./Classes/NBContainerViewController.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - NewsBlurAppDelegate - BaseViewController - - AddSiteViewController - DashboardViewController - FeedDashboardViewController - FeedDetailMenuViewController - FeedDetailViewController - FeedsMenuViewController - NewsBlurViewController - FirstTimeUserAddFriendsViewController - FirstTimeUserAddNewsBlurViewController - FirstTimeUserAddSitesViewController - FirstTimeUserViewController - FontSettingsViewController - FriendsListViewController - UINavigationController - LoginViewController - NBContainerViewController - MoveSiteViewController - UINavigationController - OriginalStoryViewController - ShareViewController - StoryDetailViewController - StoryPageControl - TrainerViewController - UserProfileViewController - UIWindow - - - - addSiteViewController - AddSiteViewController - - - dashboardViewController - DashboardViewController - - - feedDashboardViewController - FeedDashboardViewController - - - feedDetailMenuViewController - FeedDetailMenuViewController - - - feedDetailViewController - FeedDetailViewController - - - feedsMenuViewController - FeedsMenuViewController - - - feedsViewController - NewsBlurViewController - - - firstTimeUserAddFriendsViewController - FirstTimeUserAddFriendsViewController - - - firstTimeUserAddNewsBlurViewController - FirstTimeUserAddNewsBlurViewController - - - firstTimeUserAddSitesViewController - FirstTimeUserAddSitesViewController - - - firstTimeUserViewController - FirstTimeUserViewController - - - fontSettingsViewController - FontSettingsViewController - - - friendsListViewController - FriendsListViewController - - - ftuxNavigationController - UINavigationController - - - loginViewController - LoginViewController - - - masterContainerViewController - NBContainerViewController - - - moveSiteViewController - MoveSiteViewController - - - navigationController - UINavigationController - - - originalStoryViewController - OriginalStoryViewController - - - shareViewController - ShareViewController - - - storyDetailViewController - StoryDetailViewController - - - storyPageControl - StoryPageControl - - - trainerViewController - TrainerViewController - - - userProfileViewController - UserProfileViewController - - - window - UIWindow - - - - IBProjectSource - ./Classes/NewsBlurAppDelegate.h - - - - NewsBlurViewController - BaseViewController - - UIButton - UIButton - UIButton - id - id - id - id - - - - sectionTapped: - UIButton - - - sectionUntapped: - UIButton - - - sectionUntappedOutside: - UIButton - - - selectIntelligence - id - - - showInteractionsPopover: - id - - - showSettingsPopover: - id - - - tapAddSite: - id - - - - UIBarButtonItem - UIBarButtonItem - NewsBlurAppDelegate - UISlider - UITableView - UIToolbar - UIBarButtonItem - UIView - UISegmentedControl - UIView - UIBarButtonItem - UIBarButtonItem - - - - activitiesButton - UIBarButtonItem - - - addBarButton - UIBarButtonItem - - - appDelegate - NewsBlurAppDelegate - - - feedScoreSlider - UISlider - - - feedTitlesTable - UITableView - - - feedViewToolbar - UIToolbar - - - homeButton - UIBarButtonItem - - - innerView - UIView - - - intelligenceControl - UISegmentedControl - - - noFocusMessage - UIView - - - settingsBarButton - UIBarButtonItem - - - toolbarLeftMargin - UIBarButtonItem - - - - IBProjectSource - ./Classes/NewsBlurViewController.h - - - - OriginalStoryViewController - BaseViewController - - id - id - id - id - id - id - - - - doCloseOriginalStoryViewController - id - - - doOpenActionSheet - id - - - loadAddress: - id - - - webViewGoBack: - id - - - webViewGoForward: - id - - - webViewRefresh: - id - - - - NewsBlurAppDelegate - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UILabel - UITextField - UIBarButtonItem - UIToolbar - UIWebView - - - - appDelegate - NewsBlurAppDelegate - - - back - UIBarButtonItem - - - closeButton - UIBarButtonItem - - - forward - UIBarButtonItem - - - pageAction - UIBarButtonItem - - - pageTitle - UILabel - - - pageUrl - UITextField - - - refresh - UIBarButtonItem - - - toolbar - UIToolbar - - - webView - UIWebView - - - - IBProjectSource - ./Classes/OriginalStoryViewController.h - - - - ShareViewController - UIViewController - - id - id - id - id - - - - doCancelButton: - id - - - doReplyToComment: - id - - - doShareThisStory: - id - - - doToggleButton: - id - - - - NewsBlurAppDelegate - UIButton - UITextView - UIButton - NSLayoutConstraint - UILabel - UIBarButtonItem - UIButton - - - - appDelegate - NewsBlurAppDelegate - - - appdotnetButton - UIButton - - - commentField - UITextView - - - facebookButton - UIButton - - - keyboardHeight - NSLayoutConstraint - - - storyTitle - UILabel - - - submitButton - UIBarButtonItem - - - twitterButton - UIButton - - - - IBProjectSource - ./Classes/ShareViewController.h - - - - StoryDetailViewController - BaseViewController - - NewsBlurAppDelegate - UIView - UIView - UILabel - UIWebView - - - - appDelegate - NewsBlurAppDelegate - - - feedTitleGradient - UIView - - - innerView - UIView - - - noStorySelectedLabel - UILabel - - - webView - UIWebView - - - - IBProjectSource - ./Classes/StoryDetailViewController.h - - - - StoryPageControl - BaseViewController - - id - id - id - id - id - id - - - - doNextUnreadStory - id - - - doPreviousStory - id - - - showOriginalSubview: - id - - - tapProgressBar: - id - - - toggleFontSize: - id - - - toggleView: - id - - - - NewsBlurAppDelegate - UIToolbar - UIBarButtonItem - UIButton - UIButton - UIButton - THCircularProgressView - UIBarButtonItem - UIActivityIndicatorView - UIBarButtonItem - UIPageControl - UIView - UIView - TransparentToolbar - UIScrollView - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIBarButtonItem - UIView - - - - appDelegate - NewsBlurAppDelegate - - - bottomPlaceholderToolbar - UIToolbar - - - buttonAction - UIBarButtonItem - - - buttonNext - UIButton - - - buttonPrevious - UIButton - - - buttonText - UIButton - - - circularProgressView - THCircularProgressView - - - fontSettingsButton - UIBarButtonItem - - - loadingIndicator - UIActivityIndicatorView - - - originalStoryButton - UIBarButtonItem - - - pageControl - UIPageControl - - - progressView - UIView - - - progressViewContainer - UIView - - - rightToolbar - TransparentToolbar - - - scrollView - UIScrollView - - - separatorBarButton - UIBarButtonItem - - - spacer2BarButton - UIBarButtonItem - - - spacer3BarButton - UIBarButtonItem - - - spacerBarButton - UIBarButtonItem - - - subscribeButton - UIBarButtonItem - - - traverseView - UIView - - - - IBProjectSource - ./Classes/StoryPageControl.h - - - - THCircularProgressView - UIView - - IBProjectSource - ./Classes/THCircularProgressView.h - - - - TrainerViewController - BaseViewController - - doCloseDialog: - id - - - doCloseDialog: - - doCloseDialog: - id - - - - NewsBlurAppDelegate - UIBarButtonItem - UINavigationBar - TrainerWebView - - - - appDelegate - NewsBlurAppDelegate - - - closeButton - UIBarButtonItem - - - navBar - UINavigationBar - - - webView - TrainerWebView - - - - IBProjectSource - ./Classes/TrainerViewController.h - - - - TrainerWebView - UIWebView - - IBProjectSource - ./Classes/TrainerWebView.h - - - - TransparentToolbar - UIToolbar - - IBProjectSource - ./Classes/TransparentToolbar.h - - - - UserProfileViewController - UIViewController - - IBProjectSource - ./Classes/UserProfileViewController.h - - - - + 0 IBCocoaTouchFramework YES 3 {113, 46} + {105, 44} {104, 34} {43, 34} {94, 34} diff --git a/media/ios/Resources/traverse_background_left.png b/media/ios/Resources/traverse_background_left.png new file mode 100644 index 0000000000000000000000000000000000000000..5f028345f0acbf024ce86dcff24a2525aad41bab GIT binary patch literal 747 zcmV-8EDHt#z8b_`5`BVYpTZKXy31}Sh4+yZ}q zyDopW(;||lz%elEa^e4s1h@o#xB2lVlE%OVaM0#L0%$3#sib4z6xiLoU7~;(_y(++ zoLnbq1k6#_)(0tYPJ^hbk~9LYf&J~ZOB65%uBuKblO#dIvcS5(LZXu65;QCyura@o zB1soWkPl9=HRmhxl8!K|!Vhz7sq=#Dm^8vx$C_sQB?dlc4`d_h3lbCp2f)Yd0T)S% zqOeGS_wIv>Bt=nJ?2(y7I7y%Uv_(|#)a6C!Hbbb)uwjS@<>f+V1}5pyb3;Tq6EI1y z7EdA=o+N2J3YT3dPq2zG*at~^6G+kQr4RdgUHW z(v9bah;nYgBrVan6e0`v#?9_p)hLTz`Q_d?NtMNUVsK)thXbA^t;mFz@XlrSLzMeM zW0QZb$wU#nl(YhV4B8x#C!xSWJ}q>GRSk*ZNr4mKA^$~D?(Pg_A$)L7Nn)XFSH&2c zNT|$f7|y6z29;&OS6D5cBC20fY6L;Eoqj*jKG{AaPq*Q{^5EU?`x zjgs4&>^`3W-%(U`A;#9D%eoV@w0(}lS0rl_TFG&=k>nU-Mdj1Smu7;`Bv@Cr#BMh< ddK5qze*uHNeuyhR$X);d002ovPDHLkV1gyCIK%(| literal 0 HcmV?d00001 diff --git a/media/ios/Resources/traverse_background_left@2x.png b/media/ios/Resources/traverse_background_left@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8c3b5e3d946fdea0d020d485338996e2f8bbe0 GIT binary patch literal 1347 zcmV-J1-$x+P)Fl00004b3#c}2nYxW zdJN zRCt{2-N9AcNF2xUFMfN)1*{t|1#GqeC?HM&P(a`wD1hW1QovHcLILsK0|np$5*L6A z@E*q66|!VY@>sU4@8>rhch9V*)%ZUXAxu zO$2EGTmkR5{fnf9N8l^)tEpeO%^(>d?OJ1j+D4H2z$I`V`v*%k-2wM(vE+*#q%+_K z$3WUYQ{a{`IT2l~AoU3WvW(Nd8w1xw?ww);=>+&pSpSjQURY7`(cW|rQj)8AwK3Ei_K4Gd`>bfDJGFz!ANawf}LP}h) zro_t&(qQq8l7eH_%;Mz*=?Z7*q^wiIyg{yPkOp}7f>h+H=nL5(S<*?x{-B^&N(ZS= zg#{?7qdw&QXF5opdMd5=o}8On(?PPVlge4D+>#&-@KzwHtim9jHQW%X&4y$aXpI{+;!GGmlkCIzyB^B%8 z20p2-Ka-0(M;1%UFi27a21$y*AW0DzBq;)eBt>A5r22j(7Y0eH?`Lw+1D2J$BshV;6O%kNFBj+fL8*VH%=sLBD6w}dHi=}=u0I*rQKO*UjX z`Jh8pJ48_Z$l_N*{Ww|oL8(PH3K7&h``a+-kZc?xsDFrl5+=t?YO5J=NrVtV^)XVO zFH~5#lJ>xquuc^1xb7H10vG`|xb;H&Z%ioXqCPw#R*(QrfX_Iir~Nb|Y=_v&#?_cX zf-pUPPN+Sleeq1Vi+gM5+{X@5!rn>yU`8n8wtkZEwt|$nAoNa-oz$cmp@h4qp$F-0 zJ4o<06m~nd{gy)4ld(z}S1W9VWe*xNU0LshlDhmJr002ovPDHLk FV1m6lX