ios - 2 个 UIButtons 设置 2 个 UIImageViews

标签 ios objective-c uiimageview uibutton

我有 2 个 UIButton,我希望两个按钮都能选择图像,button1 正在将图像设置为 imageview1button2imageView2。我现在创建了 button1 ,它选择一个图像并将 imageView1 设置为该图像,但如果我要创建 button2,我现在不知道什么我必须做的是:

- (IBAction)chooseImage1:(id)sender {
     imagePicker.delegate = self;
     imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
     [self presentViewController:imagePicker animated:YES completion:nil];
}

- (IBAction)chooseImage2:(id)sender {
     imagePicker.delegate = self;
     imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
     [self presentViewController:imagePicker animated:YES completion:nil];
}

UIImage *image;

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

      NSURL *mediaURL;
      mediaURL = (NSURL *)[info valueForKey:UIImagePickerControllerMediaURL];
      image = (UIImage *)[info valueForKey:UIImagePickerControllerOriginalImage];

     imageView1.image=image;
     [picker dismissViewControllerAnimated:YES completion:nil];
}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
     [picker dismissViewControllerAnimated:YES completion:nil];
}

最佳答案

.h 文件中创建索引。类似的东西

NSUInteger *selectedImageIndex;

在您的 .m 文件中:

- (void)showImagePicker:(UIImagePickerControllerSourceType)source{
    UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
    ipc.sourceType = source;
    ipc.allowsEditing = YES;
    ipc.delegate = self;
    [self presentModalViewController:ipc animated:YES];
}

- (IBAction)chooseImage1:(id)sender {
    selectedImageIndex = 1;
    [self showImagePicker:UIImagePickerControllerSourceTypePhotoLibrary];
}

- (IBAction)chooseImage2:(id)sender {
    selectedImageIndex = 2;
    [self showImagePicker:UIImagePickerControllerSourceTypePhotoLibrary];
}    

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
        UIImage *img = [info objectForKey:@"UIImagePickerControllerEditedImage"];
        if (!img)
           img = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

        if (selectedImageIndex == 1)
           imageView1.image=img;
        else
           imageView2.image = img;

        [picker dismissViewControllerAnimated:YES completion:nil];
}


-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
       [picker dismissViewControllerAnimated:YES completion:nil];
}

但话又说回来,这只是一种方法。

关于ios - 2 个 UIButtons 设置 2 个 UIImageViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16091696/

相关文章:

ios - AdMob 忽略 iPhone 应用程序的 if/else 语句

ios - 如何从实例方法返回 TableView?

objective-c - 以编程方式选择行时未触发 didSelectRowAtIndexPath 事件

iOS:动态更新启动屏幕

ios - 阻止 UIImageView 被多次触摸

ios - 如何在 Swift 中从 indexPath 获取 UITableViewCell 对象?

ios - 如何使用 NSBundle 从指定的路径或文档目录获取图像

iOS swift : Button Action in a separate class file

iphone - 斯坦福iphone开发-CS193P Assignment 1 - "sin"操作

swift - TableView 在新 Controller 上显示不同的图像