我想让用户选择拍照或在我的应用中上传一个作为他的头像。 我相信没有必要为它设置两个不同的按钮,所以我想做下一个场景:
用户点击“添加图片”按钮并自动使用源代码控制UIImagePicker - 提供相机。 但是,我希望在角落里有画廊的快捷方式,用户可以点击,进入图库并搜索他将使用的图片。
以下是我需要的屏幕截图:
红圈的一部分是重要的部分。 我怎么把它放在那里?
(最初它不存在)
答案 0 :(得分:1)
没有预制方法可以做到这一点。 您可以做的是为Camera View制作叠加层。 请记住,您必须为每个设备制作不同的视图,因为每个设备在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];
}