mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
New drag bar for story titles on ipad in portrait.
This commit is contained in:
parent
a4ee38f157
commit
6fd75820d5
14 changed files with 195 additions and 7329 deletions
|
@ -171,7 +171,6 @@
|
|||
|
||||
NSRange commentRange = [txtWithTime rangeOfString:comment];
|
||||
if (commentRange.location != NSNotFound) {
|
||||
NSLog(@"Spacing: %@", comment);
|
||||
commentRange.location -= 2;
|
||||
commentRange.length = 1;
|
||||
if ([[txtWithTime substringWithRange:commentRange] isEqualToString:@" "]) {
|
||||
|
|
|
@ -165,10 +165,10 @@
|
|||
}
|
||||
}
|
||||
if ([indexPaths count] > 0 && [self.storyTitlesTable numberOfRowsInSection:0]) {
|
||||
[self.storyTitlesTable beginUpdates];
|
||||
[self.storyTitlesTable reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
||||
[self.storyTitlesTable endUpdates];
|
||||
//[self.storyTitlesTable reloadData];
|
||||
// [self.storyTitlesTable beginUpdates];
|
||||
// [self.storyTitlesTable reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
||||
// [self.storyTitlesTable endUpdates];
|
||||
[self.storyTitlesTable reloadData];
|
||||
}
|
||||
|
||||
appDelegate.recentlyReadStoryLocations = [NSMutableArray array];
|
||||
|
@ -250,7 +250,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Initialization
|
||||
|
||||
|
|
|
@ -492,7 +492,7 @@
|
|||
// reset the storyDetailViewController components
|
||||
self.storyPageControl.currentPage.webView.hidden = YES;
|
||||
self.storyPageControl.nextPage.webView.hidden = YES;
|
||||
self.storyPageControl.bottomPlaceholderToolbar.hidden = NO;
|
||||
self.storyPageControl.bottomSize.hidden = NO;
|
||||
self.storyPageControl.navigationItem.rightBarButtonItems = nil;
|
||||
[self.storyPageControl resetPages];
|
||||
NSInteger unreadCount = appDelegate.unreadCount;
|
||||
|
@ -502,39 +502,40 @@
|
|||
self.storyPageControl.circularProgressView.percentage = 0;
|
||||
}
|
||||
|
||||
// UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
|
||||
// if (NO && UIInterfaceOrientationIsPortrait(orientation) && !self.storyTitlesOnLeft) {
|
||||
// // CASE: story titles on bottom
|
||||
// self.storyPageControl.navigationItem.leftBarButtonItem = self.storyPageControl.buttonBack;
|
||||
//
|
||||
// self.storyNavigationController.view.frame = CGRectMake(vb.size.width, 0, vb.size.width, storyTitlesYCoordinate);
|
||||
// self.feedDetailViewController.view.frame = CGRectMake(vb.size.width,
|
||||
// self.storyTitlesYCoordinate,
|
||||
// vb.size.width,
|
||||
// vb.size.height - storyTitlesYCoordinate);
|
||||
// float largeTimeInterval = NB_DEFAULT_SLIDER_INTERVAL * ( vb.size.width - NB_DEFAULT_MASTER_WIDTH) / vb.size.width;
|
||||
// float smallTimeInterval = NB_DEFAULT_SLIDER_INTERVAL * NB_DEFAULT_MASTER_WIDTH / vb.size.width;
|
||||
//
|
||||
// [UIView animateWithDuration:largeTimeInterval delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
|
||||
// self.storyNavigationController.view.frame = CGRectMake(NB_DEFAULT_MASTER_WIDTH + 1, 0, vb.size.width, self.storyTitlesYCoordinate);
|
||||
// self.feedDetailViewController.view.frame = CGRectMake(NB_DEFAULT_MASTER_WIDTH + 1,
|
||||
// self.storyTitlesYCoordinate,
|
||||
// vb.size.width,
|
||||
// vb.size.height - storyTitlesYCoordinate);
|
||||
// } completion:^(BOOL finished) {
|
||||
// [UIView animateWithDuration:smallTimeInterval delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
|
||||
// self.storyNavigationController.view.frame = CGRectMake(0, 0, vb.size.width, self.storyTitlesYCoordinate);
|
||||
// self.feedDetailViewController.view.frame = CGRectMake(0, self.storyTitlesYCoordinate, vb.size.width, vb.size.height - storyTitlesYCoordinate);
|
||||
// self.masterNavigationController.view.frame = CGRectMake(-NB_DEFAULT_MASTER_WIDTH, 0, NB_DEFAULT_MASTER_WIDTH, vb.size.height);
|
||||
// } completion:^(BOOL finished) {
|
||||
// [self.dashboardViewController.view removeFromSuperview];
|
||||
// [self.masterNavigationController.view removeFromSuperview];
|
||||
// }];
|
||||
// }];
|
||||
//
|
||||
// UIView *titleLabel = [appDelegate makeFeedTitle:appDelegate.activeFeed];
|
||||
// self.storyPageControl.navigationItem.titleView = titleLabel;
|
||||
// } else {
|
||||
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
|
||||
if (UIInterfaceOrientationIsPortrait(orientation) && !self.storyTitlesOnLeft) {
|
||||
// CASE: story titles on bottom
|
||||
self.storyPageControl.navigationItem.leftBarButtonItem = self.storyPageControl.buttonBack;
|
||||
self.storyPageControl.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.feedDetailViewController.rightToolbar];;
|
||||
|
||||
self.storyNavigationController.view.frame = CGRectMake(vb.size.width, 0, vb.size.width, storyTitlesYCoordinate);
|
||||
self.feedDetailViewController.view.frame = CGRectMake(vb.size.width,
|
||||
self.storyTitlesYCoordinate,
|
||||
vb.size.width,
|
||||
vb.size.height - storyTitlesYCoordinate);
|
||||
float largeTimeInterval = NB_DEFAULT_SLIDER_INTERVAL * ( vb.size.width - NB_DEFAULT_MASTER_WIDTH) / vb.size.width;
|
||||
float smallTimeInterval = NB_DEFAULT_SLIDER_INTERVAL * NB_DEFAULT_MASTER_WIDTH / vb.size.width;
|
||||
|
||||
[UIView animateWithDuration:largeTimeInterval delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
|
||||
self.storyNavigationController.view.frame = CGRectMake(NB_DEFAULT_MASTER_WIDTH + 1, 0, vb.size.width, self.storyTitlesYCoordinate);
|
||||
self.feedDetailViewController.view.frame = CGRectMake(NB_DEFAULT_MASTER_WIDTH + 1,
|
||||
self.storyTitlesYCoordinate,
|
||||
vb.size.width,
|
||||
vb.size.height - storyTitlesYCoordinate);
|
||||
} completion:^(BOOL finished) {
|
||||
[UIView animateWithDuration:smallTimeInterval delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
|
||||
self.storyNavigationController.view.frame = CGRectMake(0, 0, vb.size.width, self.storyTitlesYCoordinate);
|
||||
self.feedDetailViewController.view.frame = CGRectMake(0, self.storyTitlesYCoordinate, vb.size.width, vb.size.height - storyTitlesYCoordinate);
|
||||
self.masterNavigationController.view.frame = CGRectMake(-NB_DEFAULT_MASTER_WIDTH, 0, NB_DEFAULT_MASTER_WIDTH, vb.size.height);
|
||||
} completion:^(BOOL finished) {
|
||||
[self.dashboardViewController.view removeFromSuperview];
|
||||
[self.masterNavigationController.view removeFromSuperview];
|
||||
}];
|
||||
}];
|
||||
|
||||
UIView *titleLabel = [appDelegate makeFeedTitle:appDelegate.activeFeed];
|
||||
self.storyPageControl.navigationItem.titleView = titleLabel;
|
||||
} else {
|
||||
// CASE: story titles on left
|
||||
[self.masterNavigationController
|
||||
pushViewController:self.feedDetailViewController
|
||||
|
@ -554,7 +555,8 @@
|
|||
|
||||
self.storyPageControl.navigationItem.titleView = nil;
|
||||
self.storyPageControl.navigationItem.leftBarButtonItem = nil;
|
||||
// }
|
||||
self.storyPageControl.navigationItem.rightBarButtonItem = nil;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)transitionFromFeedDetail {
|
||||
|
@ -701,7 +703,7 @@
|
|||
|
||||
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
if (yCoordinate > 344 && yCoordinate <= (vb.size.height)) {
|
||||
if (yCoordinate > 384 && yCoordinate <= (vb.size.height)) {
|
||||
self.storyTitlesYCoordinate = yCoordinate;
|
||||
[userPreferences setInteger:yCoordinate forKey:@"storyTitlesYCoordinate"];
|
||||
[userPreferences synchronize];
|
||||
|
@ -739,7 +741,23 @@
|
|||
0);
|
||||
}
|
||||
}
|
||||
|
||||
UITableView *stories = appDelegate.feedDetailViewController.storyTitlesTable;
|
||||
NSInteger location = appDelegate.locationOfActiveStory;
|
||||
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:location inSection:0];
|
||||
NSArray *visible = [stories visibleCells];
|
||||
for (UITableViewCell *cell in visible) {
|
||||
if ([stories indexPathForCell:cell].row == indexPath.row) {
|
||||
indexPath = nil;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (indexPath && location >= 0) {
|
||||
[stories selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
|
||||
}
|
||||
|
||||
[appDelegate.feedDetailViewController.notifier setNeedsLayout];
|
||||
|
||||
}
|
||||
|
||||
-(void)keyboardWillShowOrHide:(NSNotification*)notification {
|
||||
|
|
|
@ -378,8 +378,8 @@
|
|||
appDelegate.activeFeedUserProfiles = [DataUtilities
|
||||
updateUserProfiles:appDelegate.activeFeedUserProfiles
|
||||
withNewUserProfiles:userProfiles];
|
||||
[appDelegate.feedDetailViewController redrawUnreadStory];
|
||||
[self replaceStory:[results objectForKey:@"story"] withReplyId:nil];
|
||||
[appDelegate.feedDetailViewController redrawUnreadStory];
|
||||
}
|
||||
|
||||
# pragma mark
|
||||
|
|
|
@ -32,8 +32,7 @@
|
|||
@property (nonatomic) IBOutlet UIView *innerView;
|
||||
@property (nonatomic) IBOutlet UIWebView *webView;
|
||||
@property (nonatomic) IBOutlet UIView *feedTitleGradient;
|
||||
@property (nonatomic) IBOutlet UILabel *noStorySelectedLabel;
|
||||
@property (nonatomic) IBOutlet UIImageView *noStorySelectedImage;
|
||||
@property (nonatomic) IBOutlet UIView *noStoryMessage;
|
||||
@property (nonatomic, assign) BOOL pullingScrollview;
|
||||
@property (nonatomic, assign) BOOL inTextView;
|
||||
@property NSInteger pageIndex;
|
||||
|
|
|
@ -32,8 +32,7 @@
|
|||
@synthesize innerView;
|
||||
@synthesize webView;
|
||||
@synthesize feedTitleGradient;
|
||||
@synthesize noStorySelectedLabel;
|
||||
@synthesize noStorySelectedImage;
|
||||
@synthesize noStoryMessage;
|
||||
@synthesize pullingScrollview;
|
||||
@synthesize pageIndex;
|
||||
@synthesize storyHUD;
|
||||
|
@ -75,7 +74,6 @@
|
|||
|
||||
- (void)viewDidUnload {
|
||||
[self setInnerView:nil];
|
||||
[self setNoStorySelectedLabel:nil];
|
||||
|
||||
[super viewDidUnload];
|
||||
}
|
||||
|
@ -98,16 +96,14 @@
|
|||
|
||||
- (void)initStory {
|
||||
appDelegate.inStoryDetail = YES;
|
||||
self.noStorySelectedLabel.hidden = YES;
|
||||
self.noStorySelectedImage.hidden = YES;
|
||||
self.noStoryMessage.hidden = YES;
|
||||
self.webView.hidden = NO;
|
||||
|
||||
[appDelegate hideShareView:NO];
|
||||
}
|
||||
|
||||
- (void)hideNoStoryMessage {
|
||||
self.noStorySelectedLabel.hidden = YES;
|
||||
self.noStorySelectedImage.hidden = YES;
|
||||
self.noStoryMessage.hidden = YES;
|
||||
}
|
||||
|
||||
- (void)drawStory {
|
||||
|
@ -283,8 +279,7 @@
|
|||
- (void)hideStory {
|
||||
self.activeStoryId = nil;
|
||||
self.webView.hidden = YES;
|
||||
self.noStorySelectedLabel.hidden = NO;
|
||||
self.noStorySelectedImage.hidden = NO;
|
||||
self.noStoryMessage.hidden = NO;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
@ -988,7 +983,7 @@ shouldStartLoadWithRequest:(NSURLRequest *)request
|
|||
} else if ([action isEqualToString:@"share"]) {
|
||||
[self openShareDialog];
|
||||
return NO;
|
||||
} else if ([action isEqualToString:@"train"]) {
|
||||
} else if ([action isEqualToString:@"train"] && [urlComponents count] > 5) {
|
||||
[self openTrainingDialog:[[urlComponents objectAtIndex:2] intValue]
|
||||
yCoordinate:[[urlComponents objectAtIndex:3] intValue]
|
||||
width:[[urlComponents objectAtIndex:4] intValue]
|
||||
|
@ -1002,7 +997,7 @@ shouldStartLoadWithRequest:(NSURLRequest *)request
|
|||
NSString *tag = [NSString stringWithFormat:@"%@", [urlComponents objectAtIndex:2]];
|
||||
[self.appDelegate toggleTagClassifier:tag feedId:feedId];
|
||||
return NO;
|
||||
} else if ([action isEqualToString:@"show-profile"]) {
|
||||
} else if ([action isEqualToString:@"show-profile"] && [urlComponents count] > 6) {
|
||||
appDelegate.activeUserProfileId = [NSString stringWithFormat:@"%@", [urlComponents objectAtIndex:2]];
|
||||
|
||||
for (int i = 0; i < appDelegate.activeFeedUserProfiles.count; i++) {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
@class ASIHTTPRequest;
|
||||
|
||||
@interface StoryPageControl : BaseViewController
|
||||
<UIScrollViewDelegate, UIPopoverControllerDelegate, WEPopoverControllerDelegate> {
|
||||
<UIScrollViewDelegate, UIPopoverControllerDelegate, UIGestureRecognizerDelegate, WEPopoverControllerDelegate> {
|
||||
|
||||
NewsBlurAppDelegate *appDelegate;
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
|||
UIButton *buttonNext;
|
||||
UIButton *buttonText;
|
||||
UIActivityIndicatorView *loadingIndicator;
|
||||
UIToolbar *bottomPlaceholderToolbar;
|
||||
UIBarButtonItem *buttonBack;
|
||||
TransparentToolbar * rightToolbar;
|
||||
UIView *traverseView;
|
||||
|
@ -56,7 +55,7 @@
|
|||
@property (nonatomic) IBOutlet UIButton *buttonSend;
|
||||
@property (nonatomic) UIBarButtonItem *buttonBack;
|
||||
@property (nonatomic) IBOutlet UIBarButtonItem *buttonAction;
|
||||
@property (nonatomic) IBOutlet UIToolbar *bottomPlaceholderToolbar;
|
||||
@property (nonatomic) IBOutlet UIView *bottomSize;
|
||||
@property (nonatomic) IBOutlet UIBarButtonItem * spacerBarButton;
|
||||
@property (nonatomic) IBOutlet UIBarButtonItem * spacer2BarButton;
|
||||
@property (nonatomic) IBOutlet UIBarButtonItem * spacer3BarButton;
|
||||
|
@ -81,6 +80,7 @@
|
|||
- (void)resizeScrollView;
|
||||
- (void)applyNewIndex:(NSInteger)newIndex pageController:(StoryDetailViewController *)pageController;
|
||||
- (void)layoutForInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
|
||||
- (void)adjustDragBar:(UIInterfaceOrientation)orientation;
|
||||
|
||||
- (void)transitionFromFeedDetail;
|
||||
- (void)resetPages;
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
@synthesize originalStoryButton;
|
||||
@synthesize subscribeButton;
|
||||
@synthesize buttonBack;
|
||||
@synthesize bottomPlaceholderToolbar;
|
||||
@synthesize bottomSize;
|
||||
@synthesize popoverController;
|
||||
@synthesize loadingIndicator;
|
||||
@synthesize inTouchMove;
|
||||
|
@ -168,7 +168,7 @@
|
|||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[self setNextPreviousButtons];
|
||||
[appDelegate adjustStoryDetailWebView];
|
||||
|
||||
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
|
||||
if (!appDelegate.isSocialView) {
|
||||
UIImage *titleImage;
|
||||
|
@ -216,6 +216,7 @@
|
|||
self.traverseView.alpha = 1;
|
||||
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
|
||||
[self layoutForInterfaceOrientation:orientation];
|
||||
[self adjustDragBar:orientation];
|
||||
}
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
|
@ -251,6 +252,7 @@
|
|||
}
|
||||
|
||||
[self layoutForInterfaceOrientation:toInterfaceOrientation];
|
||||
[self adjustDragBar:toInterfaceOrientation];
|
||||
}
|
||||
|
||||
- (void)layoutForInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
|
@ -263,6 +265,25 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)adjustDragBar:(UIInterfaceOrientation)orientation {
|
||||
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;
|
||||
} else {
|
||||
scrollViewFrame.size.height = self.view.frame.size.height - 12;
|
||||
self.bottomSize.hidden = NO;
|
||||
}
|
||||
|
||||
self.scrollView.frame = scrollViewFrame;
|
||||
NSLog(@"Frames: %@ and %@", NSStringFromCGRect(self.view.frame), NSStringFromCGRect(self.traverseView.frame));
|
||||
traverseViewFrame.origin.y = scrollViewFrame.size.height - traverseViewFrame.size.height;
|
||||
self.traverseView.frame = traverseViewFrame;
|
||||
}
|
||||
|
||||
- (void)resetPages {
|
||||
[currentPage clearStory];
|
||||
[nextPage clearStory];
|
||||
|
@ -320,9 +341,9 @@
|
|||
UITouch *theTouch = [touches anyObject];
|
||||
if ([theTouch.view isKindOfClass: UIToolbar.class] || [theTouch.view isKindOfClass: UIView.class]) {
|
||||
self.inTouchMove = YES;
|
||||
// CGPoint touchLocation = [theTouch locationInView:self.view];
|
||||
// CGFloat y = touchLocation.y;
|
||||
// [appDelegate.masterContainerViewController dragStoryToolbar:y];
|
||||
CGPoint touchLocation = [theTouch locationInView:self.view];
|
||||
CGFloat y = touchLocation.y;
|
||||
[appDelegate.masterContainerViewController dragStoryToolbar:y];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -609,7 +630,8 @@
|
|||
- (void)updatePageWithActiveStory:(NSInteger)location {
|
||||
[appDelegate pushReadStory:[appDelegate.activeStory objectForKey:@"id"]];
|
||||
|
||||
self.bottomPlaceholderToolbar.hidden = YES;
|
||||
// self.bottomSize.hidden = YES;
|
||||
[self.view setNeedsLayout];
|
||||
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
|
||||
[rightToolbar setItems: [NSArray arrayWithObjects:
|
||||
|
@ -1005,9 +1027,7 @@
|
|||
self.storyHUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
self.storyHUD.labelText = msg;
|
||||
self.storyHUD.margin = 20.0f;
|
||||
self.currentPage.noStorySelectedLabel.hidden = YES;
|
||||
self.nextPage.noStorySelectedLabel.hidden = YES;
|
||||
self.previousPage.noStorySelectedLabel.hidden = YES;
|
||||
self.currentPage.noStoryMessage.hidden = YES;
|
||||
}
|
||||
|
||||
- (void)flashCheckmarkHud:(NSString *)messageType {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<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="buttonNext" destination="62" id="72"/>
|
||||
<outlet property="buttonPrevious" destination="64" id="67"/>
|
||||
<outlet property="buttonSend" destination="85" id="88"/>
|
||||
|
@ -22,15 +23,36 @@
|
|||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" alwaysBounceHorizontal="YES" pagingEnabled="YES" bouncesZoom="NO" id="5">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="460"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="448"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<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="YKz-PZ-s0t">
|
||||
<rect key="frame" x="0.0" y="448" width="320" height="12"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<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"/>
|
||||
<color key="backgroundColor" white="0.75644388689999997" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</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"/>
|
||||
<color key="backgroundColor" white="0.75644388689999997" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</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>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.90980398650000005" green="0.91764712329999998" blue="0.89411771299999998" alpha="1" colorSpace="deviceRGB"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="75">
|
||||
<rect key="frame" x="4.5" y="409" width="315.5" height="51"/>
|
||||
<rect key="frame" x="4.5" y="396.5" width="315.5" height="51"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="traverse_background.png" id="71">
|
||||
|
@ -127,6 +149,7 @@
|
|||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="drag_icon.png" width="96" height="24"/>
|
||||
<image name="traverse_background.png" width="113" height="46"/>
|
||||
<image name="traverse_next.png" width="208" height="68"/>
|
||||
<image name="traverse_previous.png" width="43" height="34"/>
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
@property (nonatomic) NSArray *activitiesArray;
|
||||
@property (nonatomic) NSString *activitiesUsername;
|
||||
@property (nonatomic) NSDictionary *userProfile;
|
||||
@property (nonatomic) ASIHTTPRequest *request;
|
||||
|
||||
- (void)getUserProfile;
|
||||
- (void)requestFinished:(ASIHTTPRequest *)request;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
@synthesize activitiesArray;
|
||||
@synthesize activitiesUsername;
|
||||
@synthesize userProfile;
|
||||
@synthesize request;
|
||||
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
|
@ -34,6 +35,12 @@
|
|||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
self.profileTable.dataSource = nil;
|
||||
self.profileTable.delegate = nil;
|
||||
request.delegate = nil;
|
||||
[request cancel];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
@ -104,7 +111,7 @@
|
|||
appDelegate.activeUserProfileId];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
|
||||
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
|
||||
request = [ASIHTTPRequest requestWithURL:url];
|
||||
|
||||
[request setDelegate:self];
|
||||
[request setDidFinishSelector:@selector(requestFinished:)];
|
||||
|
|
|
@ -349,6 +349,7 @@
|
|||
FFCDD8F617F4BCB4000C6483 /* Default-portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = FFCDD8F017F4BCB4000C6483 /* Default-portrait.png */; };
|
||||
FFCDD8F717F4BCB4000C6483 /* Default-portrait@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FFCDD8F117F4BCB4000C6483 /* Default-portrait@2x.png */; };
|
||||
FFCDD8F817F4BCB4000C6483 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = FFCDD8F217F4BCB4000C6483 /* Default.png */; };
|
||||
FFCDD8FA17F50C08000C6483 /* drag_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = FFCDD8F917F50C08000C6483 /* drag_icon.png */; };
|
||||
FFD1D7311459B63500E46F89 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FFD1D7301459B63500E46F89 /* BaseViewController.m */; };
|
||||
FFD887F01445F1E800385399 /* AddSiteAutocompleteCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FFD887EE1445F1E800385399 /* AddSiteAutocompleteCell.m */; };
|
||||
FFDCA0AF16E80866000D8E0C /* DEComposeRuledView.m in Sources */ = {isa = PBXBuildFile; fileRef = FFDCA0A516E80866000D8E0C /* DEComposeRuledView.m */; };
|
||||
|
@ -915,6 +916,7 @@
|
|||
FFCDD8F017F4BCB4000C6483 /* Default-portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-portrait.png"; sourceTree = "<group>"; };
|
||||
FFCDD8F117F4BCB4000C6483 /* Default-portrait@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-portrait@2x.png"; sourceTree = "<group>"; };
|
||||
FFCDD8F217F4BCB4000C6483 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
|
||||
FFCDD8F917F50C08000C6483 /* drag_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = drag_icon.png; sourceTree = "<group>"; };
|
||||
FFD1D72F1459B63500E46F89 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; };
|
||||
FFD1D7301459B63500E46F89 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; };
|
||||
FFD887ED1445F1E800385399 /* AddSiteAutocompleteCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSiteAutocompleteCell.h; sourceTree = "<group>"; };
|
||||
|
@ -1282,6 +1284,7 @@
|
|||
431B857615A132B600DCE497 /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FFCDD8F917F50C08000C6483 /* drag_icon.png */,
|
||||
FFB9BE3F17F4B65B00FE0A36 /* logos */,
|
||||
FFE816AC17E29D71008AF4B0 /* big_world_white.png */,
|
||||
FFE816AA17E280BD008AF4B0 /* ftux_tree.png */,
|
||||
|
@ -2362,6 +2365,7 @@
|
|||
FF5D40131799F70200349659 /* ARChromeActivity@2x~ipad.png in Resources */,
|
||||
FF5D40141799F70200349659 /* ARChromeActivity~ipad.png in Resources */,
|
||||
FF5D4017179A00B900349659 /* traverse_send.png in Resources */,
|
||||
FFCDD8FA17F50C08000C6483 /* drag_icon.png in Resources */,
|
||||
FF5D4018179A00B900349659 /* traverse_send@2x.png in Resources */,
|
||||
FF5D401B179A03E700349659 /* traverse_previous_off.png in Resources */,
|
||||
FF5D401C179A03E700349659 /* traverse_previous_off@2x.png in Resources */,
|
||||
|
@ -2582,8 +2586,8 @@
|
|||
"-all_load",
|
||||
);
|
||||
PRODUCT_NAME = NewsBlur;
|
||||
PROVISIONING_PROFILE = "BF7FE540-5E58-4C3F-88D5-AD73981C42C0";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "BF7FE540-5E58-4C3F-88D5-AD73981C42C0";
|
||||
PROVISIONING_PROFILE = "EB97D956-BB90-4F2F-9919-F71949B04B3F";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "EB97D956-BB90-4F2F-9919-F71949B04B3F";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
"WARNING_CFLAGS[arch=*]" = "-Wall";
|
||||
};
|
||||
|
@ -2616,8 +2620,8 @@
|
|||
"-all_load",
|
||||
);
|
||||
PRODUCT_NAME = NewsBlur;
|
||||
PROVISIONING_PROFILE = "BF7FE540-5E58-4C3F-88D5-AD73981C42C0";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "BF7FE540-5E58-4C3F-88D5-AD73981C42C0";
|
||||
PROVISIONING_PROFILE = "EB97D956-BB90-4F2F-9919-F71949B04B3F";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "EB97D956-BB90-4F2F-9919-F71949B04B3F";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
BIN
clients/ios/Resources/drag_icon.png
Normal file
BIN
clients/ios/Resources/drag_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 391 B |
Loading…
Add table
Reference in a new issue