github 下載demo:https://github.com/MartinLi841538513/MartinDemos (一切以demo為准)
先說操作,有時間再說我的設計原理。
兩種模式:
模式一:getImageMode,可從相冊或拍照獲取圖片,並可全屏瀏覽已選圖片。
模式二:BrowseImageMode,可查看網絡圖片,本地圖片,可全屏瀏覽這些圖片。
我的操作是基於ELCImagePickerController,AFNetWorking第三方的,以及自己之前封裝的MartinLiPageScrollView,所以先導入
pod 'ELCImagePickerController', '~> 0.2.0'
pod 'AFNetworking', '~> 2.5.0'
再從,從MartinDemos中導入ELCImagePickerHelp文件夾和MartinLiPageScrollView文件夾,這個文件夾里面是我封裝的。
詳細步驟如下:
現在的使用就很簡單了(這里我只用了模式一)
.h
#import <UIKit/UIKit.h> @interface MLMutiImagesChooseViewController : UIViewController @property (weak, nonatomic) IBOutlet UIView *collectionview; @property (weak, nonatomic) IBOutlet NSLayoutConstraint *collectionviewHeight; @end
.m 這里注意MLMutiImagesChoosenViewController最好是要設置成全局的,因為你肯定是需要在后面某地地方獲取到collectionview得images的。
#import "MLMutiImagesChooseViewController.h" #import "MLMutiImagesChoosenViewController.h" @interface MLMutiImagesChooseViewController () { MLMutiImagesChoosenViewController *mutiImagesContoller; } @end @implementation MLMutiImagesChooseViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MLMutiImagesViewController" bundle:nil];//(必選) mutiImagesContoller = [storyboard instantiateViewControllerWithIdentifier:@"MLMutiImagesChoosenViewController"];//(必選) mutiImagesContoller.fatherController = self;//(必選) mutiImagesContoller.imageMode = getImagesMode;//(必選) mutiImagesContoller.superView = self.collectionview;//(必選) mutiImagesContoller.collectionviewHeight = self.collectionviewHeight.constant;//(必選) [self addChildViewController:mutiImagesContoller];//(必選) [self.collectionview addSubview: mutiImagesContoller.collectionView];//(必選) } - (IBAction)showCountAction:(id)sender { self.showCountLabel.text = [NSString stringWithFormat:@"%d",mutiImagesContoller.chooseImages.count]; } @end