diff --git a/PYPhotoBrowser/Controller/PYPhotosPreviewController.m b/PYPhotoBrowser/Controller/PYPhotosPreviewController.m index 451455b..988a26a 100755 --- a/PYPhotoBrowser/Controller/PYPhotosPreviewController.m +++ b/PYPhotoBrowser/Controller/PYPhotosPreviewController.m @@ -106,6 +106,41 @@ - (void)changeNavBarState [self setNeedsStatusBarAppearanceUpdate]; self.navigationController.navigationBar.py_y = self.statusBarHidden ? -self.navigationController.navigationBar.py_height : [UIApplication sharedApplication].statusBarFrame.size.height; } completion:nil]; + + /* 改动方案1 + [UIView animateWithDuration:duration animations:^{ + self.navBarAnimating = YES; + self.statusBarHidden = self.navigationController.navigationBar.py_y > 0; + //[self setNeedsStatusBarAppearanceUpdate]; + self.navigationController.navigationBar.py_y = self.statusBarHidden ? -self.navigationController.navigationBar.py_height : [UIApplication sharedApplication].statusBarFrame.size.height; + } completion:nil]; + */ + + /* 改动方案2 + CGFloat statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height; + CGFloat navBarHeight = self.navigationController.navigationBar.py_height; + CGFloat proportion = statusBarHeight/(statusBarHeight+navBarHeight); + self.statusBarHidden = self.navigationController.navigationBar.py_y >= 0; + if (!self.statusBarHidden) { + proportion = 1-proportion; + } + [UIView animateWithDuration:duration*proportion animations:^{ + self.navBarAnimating = YES; + //self.navigationController.navigationBar.py_y = self.statusBarHidden ? 0 : statusBarHeight-navBarHeight; + self.navigationController.navigationBar.py_y = 0; + if (self.statusBarHidden) { + [self setNeedsStatusBarAppearanceUpdate]; + } + } completion:^(BOOL finished) { + [UIView animateWithDuration:duration*(1-proportion) animations:^{ + self.navigationController.navigationBar.py_y = self.statusBarHidden ? -(navBarHeight) : statusBarHeight; + if (!self.statusBarHidden) { + [self setNeedsStatusBarAppearanceUpdate]; + } + } completion:nil]; + }]; + */ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ self.navBarAnimating = NO; }); @@ -194,14 +229,17 @@ - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSe - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { PYPhotoCell *cell = [PYPhotoCell cellWithCollectionView:collectionView indexPath:indexPath]; + PYPhoto *photo = [[PYPhoto alloc] init]; id image = self.selectedPhotoView.images[indexPath.item]; if ([image isKindOfClass:[UIImage class]]) { - cell.image = image; + photo.originalImage = image; } else if ([image isKindOfClass:[PYPhoto class]]) { - cell.photo = (PYPhoto*)image; + photo = (PYPhoto *)image; } else if ([image isKindOfClass:[NSString class]]) { - [cell.photoView sd_setImageWithURL:[NSURL URLWithString:image] placeholderImage:PYPlaceholderImage]; + photo.original_pic = (NSString *)image; } + // 设置图片 + cell.photo = photo; cell.photoView.isPreview = YES; return cell; diff --git a/PYPhotoBrowser/View/PYPhotosView.m b/PYPhotoBrowser/View/PYPhotosView.m index 8c22449..b7095f6 100755 --- a/PYPhotoBrowser/View/PYPhotosView.m +++ b/PYPhotoBrowser/View/PYPhotosView.m @@ -322,15 +322,20 @@ - (void)setImages:(NSMutableArray *)images photoView.images = images; if (i < imageCount) { photoView.hidden = NO; - // 设置图片 + PYPhoto *photo = [[PYPhoto alloc] init]; id image = images[i]; if ([image isKindOfClass:[UIImage class]]) { - photoView.image = image; + //photoView.image = image; + photo.originalImage = image; } else if ([image isKindOfClass:[PYPhoto class]]) { - photoView.photo = (PYPhoto *)image; + //photoView.photo = (PYPhoto *)image; + photo = (PYPhoto *)image; } else if ([image isKindOfClass:[NSString class]]) { - [photoView sd_setImageWithURL:[NSURL URLWithString:image] placeholderImage:PYPlaceholderImage]; + //[photoView sd_setImageWithURL:[NSURL URLWithString:image] placeholderImage:PYPlaceholderImage]; + photo.original_pic = (NSString *)image; } + // 设置图片 + photoView.photo = photo; }else{ photoView.hidden = YES; }