iOS使用UIImagePickerController 打開圖片庫和相機選擇圖片修改頭像

使用UIImagePickerController打開圖片庫和相機選擇圖片修改頭像的主要方法如下,

聲明:這個是iphone版本的愿待,ipad版本的使用這個不行浩螺,因為iPad要用UIPopover才可以。

-?(void)viewDidLoad

{

[super?viewDidLoad];

//獲取Documents文件夾目錄

NSArray?*path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,?NSUserDomainMask,?YES);

NSString?*documentPath=?[path?objectAtIndex:0];

//指定新建文件夾路徑

NSString?*imageDocPath=?[documentPath?stringByAppendingPathComponent:@"ImageFile"];

//創(chuàng)建ImageFile文件夾

[[NSFileManager?defaultManager]?createDirectoryAtPath:imageDocPath?withIntermediateDirectories:YES?attributes:nil?error:nil];

//保存圖片的路徑

self.imagePath=?[imageDocPath?stringByAppendingPathComponent:@"image.png"];

}

-(void)viewWillAppear:(BOOL)animated{

[super?viewWillAppear:YES];

//根據(jù)圖片路徑載入圖片

UIImage?*image=[UIImage?imageWithContentsOfFile:self.imagePath];

if?(image==?nil)?{

//顯示默認

[changeImg?setBackgroundImage:[UIImage?imageNamed:@"user_photo@2x.png"]?forState:UIControlStateNormal];

}else?{

//顯示保存過的

[changeImg?setBackgroundImage:image?forState:UIControlStateNormal];

}

}

-?(void)dealloc?{

[imagePath?release];

[changeImg?release];

[super?dealloc];

}

-?(IBAction)changeImage:(id)sender?{

UIActionSheet?*myActionSheet=?[[UIActionSheet?alloc]

initWithTitle:nil

delegate:self

cancelButtonTitle:@"取消"

destructiveButtonTitle:nil

otherButtonTitles:?@"從相冊選擇",?@"拍照",nil];

[myActionSheet?showInView:self.view];

[myActionSheet?release];

}

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

switch?(buttonIndex)?{

case?0:

//從相冊選擇

[self?LocalPhoto];

break;

case?1:

//拍照

[self?takePhoto];

break;

default:

break;

}

}

//從相冊選擇

-(void)LocalPhoto{

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

//資源類型為圖片庫

picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;

picker.delegate=self;

//設(shè)置選擇后的圖片可被編輯

picker.allowsEditing=YES;

[self?presentModalViewController:picker?animated:YES];

[picker?release];

}

//拍照

-(void)takePhoto{

//資源類型為照相機

UIImagePickerControllerSourceTypesourceType=UIImagePickerControllerSourceTypeCamera;

//判斷是否有相機

if?([UIImagePickerController?isSourceTypeAvailable:?UIImagePickerControllerSourceTypeCamera]){

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

picker.delegate=self;

//設(shè)置拍照后的圖片可被編輯

picker.allowsEditing=YES;

//資源類型為照相機

picker.sourceType=sourceType;

[self?presentModalViewController:picker?animated:YES];

[picker?release];

}else?{

NSLog(@"該設(shè)備無攝像頭");

}

}

#pragma?Delegate?method?UIImagePickerControllerDelegate

//圖像選取器的委托方法仍侥,選完圖片后回調(diào)該方法

-(void)imagePickerController:(UIImagePickerController?*)picker?didFinishPickingImage:(UIImage?*)image?editingInfo:(NSDictionary?*)editingInfo{

//當圖片不為空時顯示圖片并保存圖片

if?(image?!=?nil)?{

//圖片顯示在界面上

[changeImg?setBackgroundImage:image?forState:UIControlStateNormal];

//以下是保存文件到沙盒路徑下

//把圖片轉(zhuǎn)成NSData類型的數(shù)據(jù)來保存文件

NSData?*data;

//判斷圖片是不是png格式的文件

if?(UIImagePNGRepresentation(image))?{

//返回為png圖像要出。

data=UIImagePNGRepresentation(image);

}else?{

//返回為JPEG圖像。

data=UIImageJPEGRepresentation(image,?1.0);

}

//保存

[[NSFileManager?defaultManager]?createFileAtPath:self.imagePath?contents:data?attributes:nil];

}

//關(guān)閉相冊界面

[picker?dismissModalViewControllerAnimated:YES];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末农渊,一起剝皮案震驚了整個濱河市患蹂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砸紊,老刑警劉巖传于,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異醉顽,居然都是意外死亡沼溜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門徽鼎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盛末,“玉大人弹惦,你說我怎么就攤上這事否淤。” “怎么了棠隐?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵石抡,是天一觀的道長。 經(jīng)常有香客問我助泽,道長啰扛,這世上最難降的妖魔是什么嚎京? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮隐解,結(jié)果婚禮上鞍帝,老公的妹妹穿的比我還像新娘。我一直安慰自己煞茫,他們只是感情好帕涌,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著续徽,像睡著了一般蚓曼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钦扭,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天纫版,我揣著相機與錄音,去河邊找鬼客情。 笑死其弊,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的膀斋。 我是一名探鬼主播瑞凑,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼概页!你這毒婦竟也來了籽御?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤惰匙,失蹤者是張志新(化名)和其女友劉穎技掏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體项鬼,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡哑梳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了绘盟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸠真。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖龄毡,靈堂內(nèi)的尸體忽然破棺而出吠卷,到底是詐尸還是另有隱情,我是刑警寧澤沦零,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布祭隔,位于F島的核電站,受9級特大地震影響路操,放射性物質(zhì)發(fā)生泄漏疾渴。R本人自食惡果不足惜千贯,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搞坝。 院中可真熱鬧搔谴,春花似錦、人聲如沸桩撮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽距境。三九已至申尼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間垫桂,已是汗流浹背师幕。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诬滩,地道東北人霹粥。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像疼鸟,于是被迫代替她去往敵國和親后控。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

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