【问题标题】:How to create GalleryShortcut when presenting UIImagePickerController呈现 UIImagePickerController 时如何创建 GalleryShortcut
【发布时间】:2015-02-09 15:05:35
【问题描述】:

我想让用户选择在我的应用中拍照或上传一张作为他的头像。 我相信没有必要为此设置两个不同的按钮,所以我想制作下一个场景:

用户单击“添加图片”按钮并自动显示带有源代码控制的 UIImagePicker - 相机。 但是,我想在角落里有画廊的快捷方式,用户可以点击,进入画廊并搜索他会使用的图片。

这是我需要的截图:

红圈部分为重要部分。 我怎么把它放在那里?

(最初它不存在)

【问题讨论】:

    标签: ios objective-c uiimagepickercontroller image-gallery


    【解决方案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];
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多