2015-02-09 73 views
1

我想給用戶提供一個選項,供用戶在我的應用中拍照或上傳一個作爲他的頭像。 我相信沒有必要把兩個不同的按鈕,所以相反,我想做出下一個場景:如何在呈現UIImagePickerController時創建GalleryShortcut

用戶點擊「添加圖片」按鈕和自動UIImagePicker與源代碼管理 - 攝像機呈現。 但是,我想要在角落有畫廊的快捷方式,用戶可以點擊,進入畫廊並搜索他將使用的圖片。

這裏是什麼,我需要的截圖: enter image description here

部分用紅色圈是重要的組成部分。 我如何把它放在那裏?

(最初它不存在)

回答

1

有沒有預先構建的方式來做到這一點。 您可以做的是爲相機視圖製作覆蓋圖。 請記住,您必須爲每個設備製作不同的視圖,因爲每個設備在CameraView內已經有了不同的定位。

一個例子是這樣的:

- (IBAction)addImage:(UIButton *)sender { 

    UIView* overlay = [[UIView alloc] initWithFrame:CGRectMake(20,self.view.frame.size.height-60 , 40, 40)]; 

    overlay.opaque=NO; 

    overlay.backgroundColor = [UIColor clearColor]; 



    UIButton* btnGallery = [[UIButton alloc]initWithFrame:CGRectMake(0,0 , 40, 40)]; 

    [btnGallery setImage:[UIImage imageNamed:@"image_gallery"] forState:UIControlStateNormal]; 

    btnGallery.backgroundColor = [UIColor whiteColor]; 





    [overlay addSubview:btnGallery]; 



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

    imagePicker.delegate = self; 

    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 

    imagePicker.mediaTypes = @[(NSString *) kUTTypeImage]; 

    imagePicker.allowsEditing = YES; 

    [imagePicker.view addSubview:overlay]; 



    [btnGallery addTarget:self 

        action:@selector(openGallery) 

     forControlEvents:UIControlEventTouchUpInside]; 



    _picker = imagePicker; 



    [self presentViewController:imagePicker 

         animated:YES 

        completion:nil]; 

} 





-(void)openGallery 

{ 
    UIImagePickerController *gallery = [[UIImagePickerController alloc] init]; 

    gallery.delegate = self; 

    gallery.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

    gallery.mediaTypes = @[(NSString *) kUTTypeImage]; 

    gallery.allowsEditing = YES; 

    _gallery = gallery; 

    [_picker presentViewController:gallery 

          animated:YES 

         completion:nil]; 

} 
相關問題