diff --git a/clients/ios/Classes/FeedDetailViewController.h b/clients/ios/Classes/FeedDetailViewController.h index 8092767ea..6672a642f 100644 --- a/clients/ios/Classes/FeedDetailViewController.h +++ b/clients/ios/Classes/FeedDetailViewController.h @@ -21,7 +21,8 @@ { + UIGestureRecognizerDelegate, UISearchBarDelegate, + UITableViewDragDelegate> { NewsBlurAppDelegate *appDelegate; BOOL pageFetching; diff --git a/clients/ios/Classes/FeedDetailViewController.m b/clients/ios/Classes/FeedDetailViewController.m index 32aac104d..32006773b 100644 --- a/clients/ios/Classes/FeedDetailViewController.m +++ b/clients/ios/Classes/FeedDetailViewController.m @@ -86,6 +86,10 @@ self.storyTitlesTable.backgroundColor = UIColorFromRGB(0xf4f4f4); self.storyTitlesTable.separatorColor = UIColorFromRGB(0xE9E8E4); + if (@available(iOS 11.0, *)) { + self.storyTitlesTable.dragDelegate = self; + self.storyTitlesTable.dragInteractionEnabled = YES; + } self.view.backgroundColor = UIColorFromRGB(0xf4f4f4); spacerBarButton = [[UIBarButtonItem alloc] @@ -106,6 +110,9 @@ [self.searchBar setAutocapitalizationType:UITextAutocapitalizationTypeNone]; self.storyTitlesTable.tableHeaderView = self.searchBar; self.storyTitlesTable.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; + self.storyTitlesTable.translatesAutoresizingMaskIntoConstraints = NO; + self.messageView.translatesAutoresizingMaskIntoConstraints = NO; +// self.view.translatesAutoresizingMaskIntoConstraints = NO; // No autolayout until UISplitViewController is built UIImage *separatorImage = [UIImage imageNamed:@"bar-separator.png"]; if ([ThemeManager themeManager].isDarkTheme) { @@ -2426,4 +2433,30 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state [appDelegate informError:error]; } +#pragma mark - Drag Delegate + +- (NSArray *)tableView:(UITableView *)tableView itemsForBeginningDragSession:(id)session atIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(11.0)) { + NSDictionary *story = [self getStoryAtRow:indexPath.row]; + NSItemProvider *itemProvider = [[NSItemProvider alloc] init]; + [itemProvider registerDataRepresentationForTypeIdentifier:(NSString *)kUTTypeURL visibility:NSItemProviderRepresentationVisibilityAll loadHandler:^NSProgress * _Nullable(void (^ _Nonnull completionHandler)(NSData * _Nullable, NSError * _Nullable)) { + completionHandler(story[@"story_permalink"], nil); + return nil; + }]; + + [itemProvider registerDataRepresentationForTypeIdentifier:(NSString *)kUTTypeUTF8PlainText visibility:NSItemProviderRepresentationVisibilityAll loadHandler:^NSProgress * _Nullable(void (^ _Nonnull completionHandler)(NSData * _Nullable, NSError * _Nullable)) { + completionHandler(story[@"story_title"], nil); + return nil; + }]; + + return [NSArray arrayWithObjects:[[UIDragItem alloc] initWithItemProvider:itemProvider], nil]; +} + +- (void)tableView:(UITableView *)tableView dragSessionWillBegin:(id)session API_AVAILABLE(ios(11.0)) { + +} + +- (void)tableView:(UITableView *)tableView dragSessionDidEnd:(id)session API_AVAILABLE(ios(11.0)) { + +} + @end diff --git a/clients/ios/Classes/NewsBlurViewController.m b/clients/ios/Classes/NewsBlurViewController.m index 5c0927955..f64fa6e22 100644 --- a/clients/ios/Classes/NewsBlurViewController.m +++ b/clients/ios/Classes/NewsBlurViewController.m @@ -105,6 +105,7 @@ static UIFont *userLabelFont; self.refreshControl.backgroundColor = UIColorFromRGB(0xE3E6E0); [self.refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; [self.feedTitlesTable addSubview:self.refreshControl]; + self.feedViewToolbar.translatesAutoresizingMaskIntoConstraints = NO; userLabelFont = [UIFont fontWithName:@"Helvetica-Bold" size:14.0]; @@ -163,6 +164,7 @@ static UIFont *userLabelFont; self.feedTitlesTable.backgroundColor = UIColorFromRGB(0xf4f4f4); self.feedTitlesTable.separatorColor = [UIColor clearColor]; + self.feedTitlesTable.translatesAutoresizingMaskIntoConstraints = NO; userAvatarButton.customView.hidden = YES; userInfoBarButton.customView.hidden = YES; diff --git a/clients/ios/Resources-iPad/MainWindow~ipad.xib b/clients/ios/Resources-iPad/MainWindow~ipad.xib index c0bf3a609..2c317b24c 100644 --- a/clients/ios/Resources-iPad/MainWindow~ipad.xib +++ b/clients/ios/Resources-iPad/MainWindow~ipad.xib @@ -197,7 +197,7 @@ - + diff --git a/clients/ios/Resources-iPhone/FeedDetailViewController.xib b/clients/ios/Resources-iPhone/FeedDetailViewController.xib index b30255e80..e2db1e79b 100644 --- a/clients/ios/Resources-iPhone/FeedDetailViewController.xib +++ b/clients/ios/Resources-iPhone/FeedDetailViewController.xib @@ -1,6 +1,6 @@ - + @@ -22,11 +22,11 @@ - + - + @@ -34,17 +34,17 @@ - - + - + -