欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS仿微博圖片瀏覽器

 更新時間:2016年11月29日 09:57:22   作者:LuKane  
這篇文章主要為大家詳細介紹了iOS仿微博圖片瀏覽器的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

KNPhotoBrower
高仿微博圖片瀏覽器


PhotoBrower.gif

一.功能描述及要點
1.加載網(wǎng)絡九宮格圖片,collectionView,scrollView
2.SDWebImage下載圖片,KNProgressHUD顯示加載進度
3.高仿微博,顯示動畫,KNToast提示

二.方法調(diào)用

1.創(chuàng)建KNPhotoBrower,并傳入相應的參數(shù)

// 每一個圖片控件對象, 對一一對應 KNPhotoItems ,再將多個KNPhotoItems 對象放入數(shù)組
KNPhotoItems *items = [[KNPhotoItems alloc] init];
items.url = [urlArr[i] stringByReplacingOccurrencesOfString:@"thumbnail" withString:@"bmiddle"];
items.sourceView = imageView;

KNPhotoBrower *photoBrower = [[KNPhotoBrower alloc] init];
photoBrower.itemsArr = [_itemsArray copy];// KNPhotoItems對象的數(shù)組
photoBrower.currentIndex = tap.view.tag;// 當前點擊的哪個圖片
photoBrower.actionSheetArr = [self.actionSheetArray mutableCopy];//設置 ActionSheet的選項
[photoBrower present];// 顯示

2.提供代理方法 --> KNPhotoBrowerDelegate

/* PhotoBrower 即將消失 */
- (void)photoBrowerWillDismiss;
/* PhotoBrower 右上角按鈕的點擊 */
- (void)photoBrowerRightOperationActionWithIndex:(NSInteger)index;
/* PhotoBrower 保存圖片是否成功 */
- (void)photoBrowerWriteToSavedPhotosAlbumStatus:(BOOL)success;

3.提供 消失方法
[_photoBrower dismiss];
4.設置 參數(shù)

/**
 * 是否需要右上角的按鈕. Default is YES;
 */
@property (nonatomic, assign) BOOL isNeedRightTopBtn;
/**
 * 是否需要 頂部 1 / 9 控件 ,Default is YES
 */
@property (nonatomic, assign) BOOL isNeedPageNumView;
/**
 * 是否需要 底部 UIPageControl, Default is NO
 */
@property (nonatomic, assign) BOOL isNeedPageControl;
/**
 * 存放 ActionSheet 彈出框的內(nèi)容 :NSString類型
 */
@property (nonatomic, strong) NSMutableArray *actionSheetArr;

5.關于彈出框的內(nèi)容,可在KNPhotoBrower.m 的operationBtnIBAction 方法中增減

#pragma mark - 右上角 按鈕的點擊
- (void)operationBtnIBAction{
 __weak typeof(self) weakSelf = self;

 if(_actionSheetArr.count != 0){ // 如果是自定義的 選項

  KNActionSheet *actionSheet = [[KNActionSheet alloc] initWithCancelBtnTitle:nil destructiveButtonTitle:nil otherBtnTitlesArr:[_actionSheetArr copy] actionBlock:^(NSInteger buttonIndex) {

   // 讓代理知道 是哪個按鈕被點擊了
   if([weakSelf.delegate respondsToSelector:@selector(photoBrowerRightOperationActionWithIndex:)]){
    [weakSelf.delegate photoBrowerRightOperationActionWithIndex:buttonIndex];
   }

#warning 如果傳入的 ActionSheetArr 有下載圖片這一選項. 則在這里調(diào)用和下面一樣的方法 switch.....,如果沒有下載圖片,則通過代理方法去實現(xiàn)... 目前不支持刪除功能

  }];
  [actionSheet show];
 }else{
  KNActionSheet *actionSheet = [[KNActionSheet alloc] initWithCancelBtnTitle:nil destructiveButtonTitle:nil otherBtnTitlesArr:@[@"保存圖片",@"轉(zhuǎn)發(fā)微博",@"贊"] actionBlock:^(NSInteger buttonIndex) {

   // 讓代理知道 是哪個按鈕被點擊了
   if([weakSelf.delegate respondsToSelector:@selector(photoBrowerRightOperationActionWithIndex:)]){
    [weakSelf.delegate photoBrowerRightOperationActionWithIndex:buttonIndex];
   }

   switch (buttonIndex) {
    case 0:{
     SDWebImageManager *mgr = [SDWebImageManager sharedManager];
     KNPhotoItems *items = _itemsArr[_currentIndex];
     if(![mgr diskImageExistsForURL:[NSURL URLWithString:items.url]]){
      [[KNToast shareToast] initWithText:@"圖片需要下載完成"];
      return ;
     }else{
      UIImage *image = [[mgr imageCache] imageFromDiskCacheForKey:items.url];
      dispatch_async(dispatch_get_main_queue(), ^{
       UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
      });
     }
    }
    default:
     break;
   }
  }];
  [actionSheet show];
 }
}

補充
1.目前適合 九宮格樣式,collectionView,scrollView
2.如果有bug, 請在Github上通過 '郵箱' 或者 直接issue ,我會盡快修改
github地址:  https://github.com/LuKane/KNPhotoBrower

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • iOS Webview自適應實際內(nèi)容高度的4種方法詳解

    iOS Webview自適應實際內(nèi)容高度的4種方法詳解

    這篇文章主要介紹了iOS Webview自適應實際內(nèi)容高度的4種方法詳解,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • IOS ObjectiveC中的賦值與對象拷貝

    IOS ObjectiveC中的賦值與對象拷貝

    這篇文章主要介紹了IOS ObjectiveC中的賦值與對象拷貝的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • Objective-C中關于實例所占內(nèi)存的大小詳解

    Objective-C中關于實例所占內(nèi)存的大小詳解

    這篇文章主要給大家介紹了關于Objective-C中實例所占內(nèi)存的大小的相關資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05
  • NSString屬性何時用strong何時用copy?

    NSString屬性何時用strong何時用copy?

    相信各位iOS開發(fā)者們都考慮過這個問題,平時寫NSString的屬性時都用copy,那strong要何時用呢?下面這篇文章就來看一下什么時候應該用copy,什么時候應該用strong。有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • iOS實現(xiàn)簡易鐘表

    iOS實現(xiàn)簡易鐘表

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)簡易鐘表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 詳解iOS11關于導航欄問題

    詳解iOS11關于導航欄問題

    本篇文章主要介紹了詳解iOS11關于導航欄問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • iOS創(chuàng)建與使用靜態(tài)庫

    iOS創(chuàng)建與使用靜態(tài)庫

    這篇文章主要為大家詳細介紹了iOS創(chuàng)建與使用靜態(tài)庫的相關資料,感興趣的小伙伴們可以參考一下
    2016-03-03
  • iOS實現(xiàn)APP程序內(nèi)部打開APP的AppStore頁面

    iOS實現(xiàn)APP程序內(nèi)部打開APP的AppStore頁面

    這篇文章主要給大家介紹了關于iOS實現(xiàn)APP程序內(nèi)部打開APP的AppStore頁面的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來看看吧。
    2017-06-06
  • Objective-C的緩存框架EGOCache在iOS App開發(fā)中的使用

    Objective-C的緩存框架EGOCache在iOS App開發(fā)中的使用

    這篇文章主要介紹了Objective-C的緩存框架EGOCache在iOS App開發(fā)中的使用,重點講解了EGOCache對緩存過期時間的檢測及處理,需要的朋友可以參考下
    2016-05-05
  • iOS中如何使用iconfont圖標實例詳解

    iOS中如何使用iconfont圖標實例詳解

    iconfont大家在開發(fā)中應該會經(jīng)常用到,下面這篇文章主要給大家介紹了在iOS中如何使用iconfont圖標實例的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-07-07

最新評論