在公司開發項目中須要彈出展現從網絡上下載的圖片,並提供滑動展現功能。目前採用同事開發的圖片瀏覽器,後期有時間想優化一下。因此重溫了下之前開發的相似微博的項目中的圖片瀏覽器代碼,並抽取出來封裝成了如今這個框架。git
目前功能還比較簡陋,有時間慢慢優化。擴展本地和網絡圖片以及其餘支持吧。github
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日記