gpt4 book ai didi

ios - 使用推送 View Controller 时如何将 Uiimage 从一个 View Controller 传递到其他 View Controller ?

转载 作者:行者123 更新时间:2023-11-28 22:12:29 26 4
gpt4 key购买 nike

我有三个 View Controller 。

第一个 UIViewController 包含一个 UIImage,当我单击“裁剪”按钮时,转到第二个 View Controller 我通过推送 View Controller 传递图像,这里我正在裁剪我的 UIImage.在裁剪图像后从图像编辑器 Viewcontroller 继承的第二个 UIViewController 中,单击“完成”按钮。

我需要将裁剪后的图像传递到另一个 View Controller ,我在其中有共享按钮来共享帖子。

问题是当我将编辑后的图像推送到另一个存在共享按钮的 View Controller 时,图像没有通过。

最佳答案

委派

您在View Controller 上实现协议(protocol)

Controller.h 中:

@class Controller;

@protocol ControllerDelegate <NSObject>

- (void)sendFrom:(Controller *)controller
image:(UIImage *)image;

@end

@interface Controller : UIViewController

@property (weak, nonatomic) NSObject <ControllerDelegate> * delegate;

@end

Controller.m 中发送图片时:

[self.delegate sendFrom:self
image: self.image];

在您的 Detail View Controller 之后,不要忘记将其指定为 Controller 的委托(delegate)。并实现 ControllerDelegate 协议(protocol)。为此:

在您的 DetailController.h 中实现协议(protocol)。您也可以在您的 .m 上执行此操作。

#import "Controller.h"

@interface DetailController : UIViewController <ControllerDelegate>

您在 Detail Controller 中保留对 Controller 的引用

@property (nonatomic, strong) ViewController *controller;

并在 Detail ControllerviewDidLoad 中分配它的 delegate。例如:

-(void)viewDidLoad:(BOOL)animated{

[super viewDidLoad:animated];

self.controller.delegate = self;
}

不要忘记在详细 View 中实现协议(protocol)方法。在这里,您收到从 Controller 传递的图像,并将其保存在 Detail Controller UIImage 属性中:

- (void)sendFrom:(Controller *)controller
image:(UIImage *)image{

self.image = image;
}

关于ios - 使用推送 View Controller 时如何将 Uiimage 从一个 View Controller 传递到其他 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22552084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com