PhotoBrowser
Support Storyboard using PBImageScrollView.
PhotoBrowser는 wechat, weibo 이미지 뷰어와 같은 가벼운 사진 브라우저입니다.
이제 SlidingPhoto라는 순수 Swift 버전을 사용할 수 있습니다.
UITableView
API와 마찬가지로 데이터 로드 및 작업 처리를 위한 DataSource
Delegate
있습니다.PhotoBrowser
PBViewControllerDataSource
프로토콜을 준수하고 numberOfPagesInViewController:
선택기를 구현하여 표시할 페이지 수를 알려줍니다.pb_startPage
속성으로 초기화 페이지를 설정합니다.PBViewControllerDataSource
준수하고 viewController:imageForPageAtIndex:
선택기를 구현합니다.PBViewControllerDataSource
프로토콜을 준수하고 viewController:presentImageView:forPageAtIndex:progressHandler
선택기를 구현합니다.PBViewControllerDataSource
프로토콜을 준수하고 thumbViewForPageAtIndex:
시작 및 종료 imageView 위치를 알려줍니다.PBViewControllerDelegate
준수하고 viewController:didSingleTapedPageAtIndex:presentedImage:
또는 viewController:didLongPressedPageAtIndex:presentedImage:
단일 탭 또는 길게 누르기 작업 처리 ...
PBViewController *pbViewController = [PBViewController new ];
// Use your own subclass of UIImageView to display.
pbViewController.imageViewClass = PBImageView.class;
pbViewController.pb_dataSource = self;
pbViewController.pb_delegate = self;
pbViewController.pb_startPage = sender.tag;
[ self presentViewController: pbViewController animated: YES completion: nil ];
...
...
# pragma mark - PBViewControllerDataSource
- ( NSInteger )numberOfPagesInViewController:(PBViewController *)viewController {
return self. frames . count ;
}
- ( void )viewController:(PBViewController *)viewController presentImageView:(UIImageView *)imageView forPageAtIndex:( NSInteger )index progressHandler:( void (^)( NSInteger , NSInteger ))progressHandler {
NSString *url = [ NSString stringWithFormat: @" https://raw.githubusercontent.com/cuzv/PhotoBrowser/dev/Example/Assets/ %@ .jpg " , @( index + 1 )];
UIImage *placeholder = self. imageViews [ index ]. image ;
[imageView sd_setImageWithURL: [ NSURL URLWithString: url]
placeholderImage: placeholder
options: 0
progress: progressHandler
completed: ^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
}];
}
- (UIView *)thumbViewForPageAtIndex:( NSInteger )index {
if (self. thumb ) {
return self. imageViews [ index ];
}
return nil ;
}
# pragma mark - PBViewControllerDelegate
- ( void )viewController:(PBViewController *)viewController didSingleTapedPageAtIndex:( NSInteger )index presentedImage:(UIImage *)presentedImage {
[ self dismissViewControllerAnimated: YES completion: nil ];
}
자세한 내용은 프로젝트의 예제를 확인하세요.
PhotoBrowser
MIT 라이센스에 따라 사용할 수 있습니다. 자세한 내용은 LICENSE 파일을 참조하세요.