PhotoBrowser
Support Storyboard using PBImageScrollView.
PhotoBrowser هو متصفح صور خفيف الوزن، مثل عارض الصور wechat وweibo.
الآن، يتوفر إصدار Swift النقي المسمى SlidingPhoto.
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. راجع ملف الترخيص لمزيد من المعلومات.