UIImagePickerController 的使用

#import <UIKit/UIKit.h>

@interfaceYBPhotoSelectView :UIView

@property(nonatomic,weak)id target;

@end


#import"YBPhotoSelectView.h"

#import <Masonry.h>

#import"GlobalDefine.h"

@interfaceYBPhotoSelectView()

@property(nonatomic,weak)UIImageView* photoView;

@end

@implementationYBPhotoSelectView

- (instancetype)initWithFrame:(CGRect)frame {

if(self= [super initWithFrame:frame])

{

[self commonInit];

}

return self;

}

- (void)commonInit {

UIImageView* photoView

= [[UIImageView alloc]init];

photoView.image= [UIImage imageNamed:@"dog"];

photoView.userInteractionEnabled=YES;

[self addSubview:photoView];

self.photoView= photoView;

[photoView mas_makeConstraints:^(MASConstraintMaker*make) {

make.edges.equalTo(self);

}];

UITapGestureRecognizer*

tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onClickedPhoto)];

[photoView addGestureRecognizer:tap];

}

- (void)onClickedPhoto {

UIActionSheet*popMenu = [[UIActionSheetalloc] initWithTitle:@"選擇照片" delegate:self

cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"相冊(cè)",nil];

UIViewController* vc = (UIViewController*)self.target;?

[popMenu showInView:vc.view];

}

#pragma mark - actionSheet delegate methods

-(void)getMediaFromSource : (UIImagePickerControllerSourceType) sourceType

{

NSArray*mediaTypes =

[UIImagePickerController availableMediaTypesForSourceType:sourceType];

if([UIImagePickerController isSourceTypeAvailable:sourceType]

&& [mediaTypes count] >0)

{

UIImagePickerController*picker = [[UIImagePickerController alloc]init];

NSMutableArray*types = [NSMutableArray array];

for(NSString*type in mediaTypes){

if([typecompare:@"public.movie"]!=NSOrderedSame){

[types addObject:type];

}

}

picker.mediaTypes= types;

picker.delegate=self;

picker.allowsEditing=YES;

picker.sourceType= sourceType;

[self.target presentViewController:pickeranimated:YES ?completion:nil];

}

else

{

UIAlertView*alert = [[UIAlertViewalloc]init];

[alert setTitle:NSLocalizedString(@"note_tishi",@"")];

[alert setMessage:@"您的設(shè)備不支持該功能蚕捉。"];

[alert setDelegate:nil];

[alert addButtonWithTitle:@"知道了"];

[alert show];

}

}

-(void) actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

{

NSString*title = [actionSheet buttonTitleAtIndex:buttonIndex];

if([title is EqualToString:@"拍照"])

{

[self getMediaFromSource:UIImagePickerControllerSourceTypeCamera];

}

elseif([title is EqualToString:@"相冊(cè)"])

{

[self getMediaFromSource:UIImagePickerControllerSourceTypePhotoLibrary];

}

}

#pragmamark - UIImagePickerController delegate methods


-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info

{

UIImage*chosenImage =

[info objectForKey:UIImagePickerControllerEditedImage];

if(picker.sourceType==UIImagePickerControllerSourceTypeCamera){

}

self.photoView.image= chosenImage;

[self.tar getdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo

{

if(error !=NULL)

{

}

else// No errors

{

NSLog(@"image successfully saved");

}

}

-(void) imagePickerControllerDidCancel:(UIImagePickerController*)picker

{

[self.target dismissViewControllerAnimated:YEScompletion:nil];

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锄开,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件址晕,死亡現(xiàn)場離奇詭異,居然都是意外死亡顿锰,警方通過查閱死者的電腦和手機(jī)谨垃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硼控,“玉大人刘陶,你說我怎么就攤上這事±魏常” “怎么了匙隔?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長熏版。 經(jīng)常有香客問我牡直,道長,這世上最難降的妖魔是什么纳决? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任碰逸,我火速辦了婚禮,結(jié)果婚禮上阔加,老公的妹妹穿的比我還像新娘饵史。我一直安慰自己,他們只是感情好胜榔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布胳喷。 她就那樣靜靜地躺著,像睡著了一般夭织。 火紅的嫁衣襯著肌膚如雪吭露。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天尊惰,我揣著相機(jī)與錄音讲竿,去河邊找鬼。 笑死弄屡,一個(gè)胖子當(dāng)著我的面吹牛题禀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膀捷,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼迈嘹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秀仲,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤融痛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后神僵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雁刷,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年挑豌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了安券。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氓英,死狀恐怖侯勉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铝阐,我是刑警寧澤址貌,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站徘键,受9級(jí)特大地震影響练对,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吹害,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一螟凭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧它呀,春花似錦螺男、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谓媒,卻和暖如春淆院,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背句惯。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工土辩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宗弯。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓脯燃,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蒙保。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容