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

标签 ios swift image

这可能看起来像是另一个关于传递已回复的数据的问题,但事实并非如此(我在 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/

相关文章:

swift - 'String' 不可转换为 'Int'

java - 图像未在本地缓存(使用 Universal Image Loader)- 图像加载时间慢

ios - swift 4 : back button in SWRevealViewController

ios - 将数据传递给 collectionView(numberOfItemsInSection) 函数 (Swift)

iphone - 使用自动布局和固定时更改 View 拉伸(stretch)

html - iOS 不支持 Google 字体 woff2

swift - 字典无法从 Objective-C 桥接 -> Swift 中的问题

java - 在另一台机器上的 JAR 文件中显示 jLabel 图标时出现问题

css - 应用自定义样式后,增强型图像插件无法正常工作

ios - Xamarin 表格 : How to clear old distribution certificate and provisioning profile from ios bundle signing?