【问题标题】:UIImagepickercontroller Not Selecting ImageUIImagepickercontroller 不选择图像
【发布时间】:2012-03-23 23:37:27
【问题描述】:

我在一个我最终没有使用的旧代码中运行了这个......现在我再次尝试它,但它不工作。我不确定出了什么问题。我希望用户选择一个图像,然后在 imageView1 中显示它。我感谢您的帮助。

- (IBAction)pushPick 
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate =self;
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:picker animated:YES];
    //[picker release];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:   (UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    [picker.parentViewController dismissModalViewControllerAnimated:YES];
    imageView1.image = image;
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [picker.parentViewController dismissModalViewControllerAnimated:YES];
}

【问题讨论】:

    标签: ios xcode uiimagepickercontroller


    【解决方案1】:

    试试

    - (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {  
        UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        imageView1.image = image;
        [picker release];
        [self dismissModalViewControllerAnimated:YES]; 
    
    }
    

    并确保视图控制器响应 UIImagePickerControllerDelegate。

    imagePickerController:didFinishPickingImage:editingInfo: 在 iOS 3.0 中已弃用。

    【讨论】:

    • UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];似乎做到了...谢谢。
    【解决方案2】:

    我就是这样做的:

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

    { bgImage.image = [info objectForKey:UIImagePickerControllerEditedImage];

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), YES, 1.0);
    
    [bgImage.image drawInRect:CGRectMake(0,0,128,128)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    NSData *imageData = UIImageJPEGRepresentation(newImage, 1.0);
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *documentsFolder = [path objectAtIndex:0];
    
    NSString *tmpPathToFile = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/specificImagedName.jpg", documentsFolder]];
    
    if([imageData writeToFile:tmpPathToFile atomically:YES]){
        //NSLog(@"write succesful");
    }
    ///////////////////////////////////////////
    
    [po dismissPopoverAnimated:YES];
    [picker release];
    [tmpPathToFile release];}
    

    它会在您的应用程序的文档文件夹中生成一个 jpg 文件。希望对你有帮助。。

    【讨论】:

      猜你喜欢
      • 2012-10-17
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      相关资源
      最近更新 更多