diff --git a/Classes/BITAttachmentGalleryViewController.h b/Classes/BITAttachmentGalleryViewController.h index c246390ff0..a745b6dde0 100644 --- a/Classes/BITAttachmentGalleryViewController.h +++ b/Classes/BITAttachmentGalleryViewController.h @@ -8,8 +8,12 @@ #import +@class BITFeedbackMessageAttachment; + @interface BITAttachmentGalleryViewController : UIViewController @property (nonatomic, strong) NSArray *messages; +@property (nonatomic, strong) BITFeedbackMessageAttachment *preselectedAttachment; + @end diff --git a/Classes/BITAttachmentGalleryViewController.m b/Classes/BITAttachmentGalleryViewController.m index 24c7316847..f3e5b79ce7 100644 --- a/Classes/BITAttachmentGalleryViewController.m +++ b/Classes/BITAttachmentGalleryViewController.m @@ -54,8 +54,9 @@ [self setupScrollView]; self.view.frame = UIScreen.mainScreen.applicationFrame; - // self.view.frame.origin = CGPointZero; + self.tapognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)]; + [self.view addGestureRecognizer:self.tapognizer]; } -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; @@ -64,6 +65,15 @@ [self.navigationController setNavigationBarHidden:YES animated:NO]; [[UIApplication sharedApplication] setStatusBarHidden:YES]; + if (self.preselectedAttachment){ + NSInteger indexOfSelectedAttachment = [self.extractedAttachments indexOfObject:self.preselectedAttachment]; + if (indexOfSelectedAttachment != NSNotFound){ + self.currentIndex = indexOfSelectedAttachment; + self.scrollView.contentOffset = CGPointMake(self.scrollView.frame.size.width * self.currentIndex, 0); + + } + } + [self layoutViews]; @@ -72,8 +82,7 @@ - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; - self.tapognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)]; - [self.view addGestureRecognizer:self.tapognizer]; + } - (void)setupScrollView { @@ -129,14 +138,16 @@ } - (void)layoutViews { + CGPoint savedOffset = self.scrollView.contentOffset; + self.scrollView.delegate = nil; self.scrollView.frame = self.view.bounds; self.scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.bounds) * self.extractedAttachments.count, CGRectGetHeight(self.view.bounds)); - + self.scrollView.delegate = self; self.scrollView.contentInset = UIEdgeInsetsZero; self.scrollView.autoresizesSubviews = NO; + self.scrollView.contentOffset = savedOffset; - self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x, 0); NSInteger baseIndex = MAX(0,self.currentIndex-1); NSInteger z = baseIndex; diff --git a/Classes/BITFeedbackListViewController.m b/Classes/BITFeedbackListViewController.m index fe45d9e52d..70f58a1f8a 100644 --- a/Classes/BITFeedbackListViewController.m +++ b/Classes/BITFeedbackListViewController.m @@ -773,14 +773,16 @@ - (void)listCell:(id)cell didSelectAttachment:(BITFeedbackMessageAttachment *)attachment { BITAttachmentGalleryViewController *galleryController = [BITAttachmentGalleryViewController new]; - UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:galleryController]; + NSMutableArray *collectedMessages = [NSMutableArray new]; + for (int i = 0; i