gpt4 book ai didi

ios - 将图像传递给另一个 View Controller

转载 作者:行者123 更新时间:2023-11-30 11:25:38 25 4
gpt4 key购买 nike

这可能看起来像是另一个关于传递已回复的数据的问题,但事实并非如此(我在 stackoverflow 中搜索了很多次)

我解释一下:

我使用 Firebase 来验证用户身份。在我的问题中,我使用 Google Sign In,并且该函数位于 Appdelegate

func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {

我有一个基于scrollView ( https://github.com/jakespracher/Snapchat-Swipe-View ) 的导航,因此 viewdidload/didappear 在我的应用程序上仅启动一次(在开始时,而不是在我滑动到 UIController 时)。

所以我的问题:

我想将我的 func 标志(Google 个人资料图像)中的图像从我的 Appdelegate 传递到 ProfileViewController。我想从我的 Appdelegate 中的 func 中执行此操作(segue/present 不起作用。呈现是因为它位于 appdelegate 和 segue 上,因为 viewdidload/did 只出现一次启动)

那我该怎么办?

我在 Appdelegate 上的 func 标志上尝试了这个,但在 controller.profile.image 上没有任何结果:

let image: UIImage = UIImage(data: data)!
var storyboard = UIStoryboard(name: "Main", bundle: nil)
var controller = storyboard.instantiateViewControllerWithIdentifier("Profile") as! ProfileViewController

controller.profile.image = image

所以请拜托拜托,如果有人帮助我,我将不胜感激。

谢谢

最佳答案

你走错了路,你试图将图像设置为尚未加载的 ViewController 的 ImageView。

您可以在 View Controller 中获取 UIImage 对象,并在 ViewDidLoad 上将图像设置为 ImageView。

class ProfileViewController : UIViewController {
var imageFromPreviousPage : UIImage?

@IBOutlet weak var profile: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()
profile.image = imageFromPreviousPage
}
}

现在将您的图像设置为此图像对象

let image: UIImage = UIImage(data: data)!
var storyboard = UIStoryboard(name: "Main", bundle: nil)
var controller = storyboard.instantiateViewControllerWithIdentifier("Profile") as! ProfileViewController
controller. imageFromPreviousPage = image

现在您可以将导航 Controller 推送到 ViewController 上方。

如果您从 Appdelegate didFinishLauch 尝试它,您需要将其设置为窗口的 Root View 。

希望对您有帮助。

关于ios - 将图像传递给另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50774365/

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