首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iPhone UIImagePickerController didFinishPickingImage:视图控制器之间的UIImage传输?

在iOS开发中,UIImagePickerController 是一个用于选择图片的视图控制器。当用户选择了一张图片后,UIImagePickerController 会通过 didFinishPickingImage 方法将选中的图片传递给其委托对象。

在这个问题中,我们需要将选中的图片从 UIImagePickerController 传递到另一个视图控制器。为了实现这个功能,我们可以使用以下步骤:

  1. 创建一个新的视图控制器,例如 ImageViewController,并在其中添加一个 UIImageView 用于显示图片。
  2. UIImagePickerController 的委托方法 didFinishPickingImage 中,将选中的图片传递给 ImageViewController
  3. ImageViewController 中,将传递过来的图片显示在 UIImageView 上。

以下是一个简单的示例代码:

代码语言:swift
复制
import UIKit

class ImageViewController: UIViewController {
    @IBOutlet weak var imageView: UIImageView!
    
    var image: UIImage?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if let image = image {
            imageView.image = image
        }
    }
}

extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
        if let image = info[.originalImage] as? UIImage {
            let imageViewController = ImageViewController()
            imageViewController.image = image
            navigationController?.pushViewController(imageViewController, animated: true)
        }
        picker.dismiss(animated: true, completion: nil)
    }
}

在这个示例中,我们首先创建了一个 ImageViewController 类,并在其中添加了一个 UIImageView。然后,在 UIImagePickerController 的委托方法 didFinishPickingMediaWithInfo 中,我们将选中的图片传递给 ImageViewController,并将其压入导航控制器中。最后,在 ImageViewControllerviewDidLoad 方法中,我们将传递过来的图片显示在 UIImageView 上。

需要注意的是,为了使用 UIImagePickerController,我们需要在项目中导入 MobileCoreServices 框架,并在 Info.plist 文件中添加适当的权限设置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS使用UIImagePickerController调用系统相机、相册与图库

iOS使用UIImagePickerController调用系统相机、相册与图库 一、引言         UIImagePickerController是系统封装好一个导航视图控制器,使用其开发者可以十分方便进行相机相册相关功能调用...UIImagePickerController继承于UINavigationController,其通过代理方式将用户获取图片或者视频文件传入给开发者。...二、UIImagePickerController中属性与方法应用         在使用UIImagePickerController之前,应该先判断设备做支持媒体文件获取类型,使用如下方法进行判断...editingInfo字典中将传入编辑信息 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage...; //这个键对应UIImage类型值 意义为获取原始图片 UIKIT_EXTERN NSString *const UIImagePickerControllerOriginalImage; //

2.2K10

iOS开发——头像设置及本地沙盒保存,圆形头像显示

最后来写 设置头像 按钮背后选择照片逻辑代码。 因为是从 照相机 或者 相册 中来读取照片,需要使用 UIImagePickerController"图像选择器" 。...UIImagePickerController 是一种导航控制器,使用它,用户可以打开系统图片选取器或者打开相机进行拍照。...- (IBAction)selectPhoto:(id)sender { UIImagePickerController *imagePicker = [[UIImagePickerController... *)info{ //通过info字典获取选择照片 UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage...第二个参数是压缩比例,转化为NSData类型; NSData *fileData = UIImageJPEGRepresentation(image, 1.0); //关闭以模态形式显示UIImagePickerController

1.7K30

编码篇-iOS开发中奇巧小伎

某个角添加圆角 13.将一个view放置在其兄弟视图最上面、最下面 14.让手机震动一下 15.摇一摇功能 16.修改UISegmentedControl字体大小 17.获取一个view所属控制器...26、判断两个rect是否有交叉 27、判断一个字符串是否为数字 28、将一个view保存为pdf格式 29、获取当前导航控制器下前一个控制器 30、保存UIImage到本地 31、动画修改label...上文字 32、判断一个view是否为另一个view视图,或者是子试图子试图。...、修改tabBarframe 52、修改键盘背景颜色 53.本来我statusbar是lightcontent,结果用UIImagePickerController会导致我statusbar样式变成黑色...是lightcontent,结果用UIImagePickerController会导致我statusbar样式变成黑色 - (void)navigationController:(UINavigationController

5.3K10

Cocoa编程中视图控制器视图类详解

iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件基础类。...每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊UIView)内众多UIView及其专门化子类构建。...UIViewController实例负责设置视图外观和它显示视图。 UINavigationController类 1. 导航控制器使用内置动画在视图之间切换; 2....UITabBarController类       选项卡类允许用户在多个视图控制器之间移动并在屏幕底部可定制该栏。...1.作用: •创建和管理视图。 •管理视图上显示数据。 •设备方向变化,调整视图大小以适应屏幕。 •负责视图和模型之间数据及请示传递。 2.

5K50

iOS中UIPopoverController使用详解

iOS中UIPopoverController使用详解 一、引言         UIPopoverController是Pad设备中常用一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器...UIPopoverController只能用于iPad,在要兼容iPad和iPhone项目中,需要根据设备类型使用两套代码。...UIPopoverController使用如下初始化方法创建: //创建视图控制器方法 通过一个内容视图控制器创建 - (instancetype)initWithContentViewController...,点击界面上其他位置,视图控制器会被隐藏 如果需要当视图控制爱弹出时界面上其他控件依然可以进行用户交互,则需要将这些UI控件设置进这个数组中 */ @property (nullable, nonatomic...,其可以很好兼容iPhone与iPad。

1.6K20

iOS:分割控制器UISplitViewcontroller

分割控制器UISplitViewController 功能:它也是ipad一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边为主控制器,右边为详细控制器,主控制器可以根据需要显示或隐藏...它对于iPhone虽然可以使用,但是不具备同时显示特点,在iPhone样式,就是导航控制器切换模式。...@end 创建分割控制器、主控制器、详细控制器,并设置它们之间关系,以及设置分割控制器代理 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions...Master导航栏和按钮,并设置表格视图数据源和代理 - (void)viewDidLoad { [super viewDidLoad]; //创建UITableView...imageNamed:@"美女0.jpg"],[UIImage imageNamed:@"美女1.jpg"],[UIImage imageNamed:@"美女2.jpg"],nil];

1.7K30

添加多个屏幕-创建格线布局

在上一节中,我们学习了如何使用按钮更改iPhone屏幕。让我们进一步推动!我们将实现一个CollectionView,我们将能够切换到您想要壁纸。该CollectionView将是滚动水平。...您可以下载Final Xcode项目,以帮助您与自己进度进行比较。 查看控制器 在主故事板中,让我们构建我们集合视图。首先,把视图控制器从对象库旁边我们视图控制器。...在第二个视图控制器和约束内插入一个UIView:0左,0右和0底(全部相对于superview)。取消选中“ 约束”到边距并将高度设置为380。 ?...文本是iPhone X并将底部约束为0并将容器中水平中心约束。在“ 属性”检查器中,将“滚动方向”更改为“ 水平”并取消选中“ 显示”指示器。...cell.index = indexPath.row 返回UIImage 当我们点击按钮时,它将在函数中返回UIImage类型图像。为ARScreen图像声明一个新数组。

2.8K40

iOS小技能:下拉刷新控件适配

前言 下拉顶部背景色设置: 往tableView父控件添加拉伸背景视图 present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式UIModalPresentationFullScreen...mj_header.loadingView.activityIndicatorViewStyle =UIActivityIndicatorViewStyleWhite; } 下拉顶部背景色设置:往tableView父控件添加拉伸背景视图...presentViewController:nav animated:YES completion:nil]; //推荐使用UIModalPresentationOverFullScreen 灵活控制模态展示视图样式...iOS13适配【灵活控制模态展示视图样式】(全屏/下滑返回)文中提供完整demo源码 全局hook presentViewController方法 // // UIViewController+ERPPresent13...spm=1001.2014.3001.5501 问题:没有上拉时候加载更多控件文案也显示出来了 修复方式1:修改视图距离底部高度 [self.vcView mas_makeConstraints

81330

如何快速定位、分析、解决非CrashBUG(iOS 11篇)

功能实现: 裁剪控件是系统提供UIImagePickerController。...经过可以对比发现,③和④图片是一致,并且明显与①所选中区域有所偏移。以同样方式尝试iPhone X和6s模拟器,发现都有偏移现象,且iPhone X偏移更为严重。...而且非常有意思是:iPhone X模拟器裁剪偏移量为44pixel。...至此,Bug摸清来龙去脉: UIImagePickerController裁剪选择视图向下偏移了status bar高度,但是裁剪时候还是按照y=0计算,导致结果产生偏移。...尝试在completionBlock中改变背景颜色,可以看出动画还在执行时,背景颜色发生了变化; 尝试在动画开始改变视图颜色,可以发现动画执行存在明显延迟; 可以确定:当发生这个错误之后,动画执行实现会推迟

2.3K50

【IOS开发进阶系列】APP性能优化专题

非延迟加载方式 延迟加载方式 2.2    故事板和nib文件延迟加载 2.2.1  故事板延迟加载         Segue定义两个视图控制器导航关系...,也来维护和管理下一个视图控制器延迟加载时机,这种情况下我们无法“插手”视图控制器延迟加载。...但是一种情况下除外,就是使用了故事板,而控制器之间没有定义导航关系,没有定义Segue。...2.2.2  nib文件延迟加载         相当于故事板而言nib要灵活很多,nib文件有两种:一种是描述视图控制器,另一种是描述视图,加载方式有所区别。...模式代码如下: 4.2    集合视图重用对象 4.2.1  单元格视图 4.2.2  补充视图 4.3    地图视图重用对象 4.3.1  MKPinAnnotationView对象

22320

iOS中,系统相册那些事

获取相册最直接方式——UIImagePickerController 功能介绍:可直接显示分组相处列表,用户选择不同相册照片后,可在委托方法中获得该图片对象; API提供三种数据源: UIImagePickerControllerSourceTypeCamera...属于UIKit UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; // 若设备支持相机,使用拍照功能...;否则从照片库中选择 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera...通过ALAssetRepresentation可以获取ALAsset原图、全屏图、文件名等信息; 自定义行相册思路 1.实例化照片库,获取所有的相册; 2.展示相册中所有照片,可自义展示样式,多以集合视图形式展现...contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage

1.3K40
领券