開源一個網絡圖片瀏覽器HooPhotoBrowser
來自: http://www.cnblogs.com/JackieHoo/p/5205800.html
在公司開發項目中需要彈出展示從網絡上下載的圖片,并提供滑動展示功能。目前采用同事開發的圖片瀏覽器,后期有時間想優化一下。所以重溫了下以前開發的類似微博的項目中的圖片瀏覽器代碼,并抽取出來封裝成了現在這個框架。
目前功能還比較簡陋,有時間慢慢優化。擴展本地和網絡圖片以及其他支持吧。
Github下載地址: https://github.com/jakciehoo/HooPhotoBrowser
實現功能
1.設置圖片地址數組,從地址獲取當前選擇圖片,然后展示當前圖片(可設置默認顯示第幾張圖片)
2.提供圖片下載進度動畫,下載成功顯示下載圖片,下載過程中給出進度提示動畫,下載失敗提供下載失敗提示。
3.工具欄展示圖片信息,并提供保存到本地相冊功能
4.對代碼做了內存優化。
效果圖展示:
添加到項目
1.項目依賴SDWebImage,因此需要你的項目添加SDWebImage框架,下載地址: https://github.com/rs/SDWebImage
2.將Demo中的HooPhotoBrowser拷貝到項目中。
調用方法
HooPhotoBrowser的調用方法,可以參考demo。這里我先把調用代碼寫出來。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(50, 50, 200, 200);
imageView.image = [UIImage imageNamed:@"uc_header_background.jpg"];
[self.view addSubview:imageView];
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapToShow:)];
tap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tap];
}
- (void)tapToShow :(UITapGestureRecognizer *)tap {
UIImageView *tapView = (UIImageView *)tap.view;
NSArray *images = @[@"http://images.asiatravel.com/Hotel/8016/8016facade.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016logo.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016bathroom.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016standard_room.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016lobby-cafe.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016lobby-reception.jpg",
@"http://images.asiatravel.com/Hotel/8016/8016pool.jpg"];
NSInteger i = 0;
NSMutableArray *pArray = [NSMutableArray array];
for (NSString *url in images) {
HooPhoto *photo = [[HooPhoto alloc] init];
photo.url = [NSURL URLWithString:url];
photo.index = i;
photo.sourceImageView = tapView;
[pArray addObject:photo];
i++;
}
HooPhotoBrowser *photoBrowser = [[HooPhotoBrowser alloc] init];
photoBrowser.currentPhotoIndex = 0;
photoBrowser.photos = pArray;
[photoBrowser show];
} 最后歡迎大家參考學習。并歡迎大家關注我的微信公眾號,互相學習。
我的微信公眾號:丁丁的coding日記
本文由用戶 s2007440 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!