gpt4 book ai didi

ios - 从画廊或相机中挑选完图像后,我该如何进行 segue?

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:22 24 4
gpt4 key购买 nike

在我从图库中选择图片或从照相手机拍摄照片后,如何对另一个 Controller 进行 segue?

目前我的 postChoices View 有 2 个按钮,可以将用户带到画廊或拍照。如果用户单击按钮,我会在 Storyboard 中进行 segue,它将把它带到下一个 View ,即 postView

但它不起作用,它一直转到相同的 View 。

这是代码

import UIKit

class postChoices: UIViewController, UIImagePickerControllerDelegate {


@IBAction func gallery(sender: AnyObject) {

var image = UIImagePickerController()
//image.delegate = self
image.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
image.allowsEditing = false

self.presentViewController(image, animated: true, completion: nil)


}
override func viewDidLoad() {
super.viewDidLoad()
self.performSegueWithIdentifier("gall", sender: self)

// Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
println("Image selected")
self.dismissViewControllerAnimated(true, completion: nil)
}


}

编辑后的版本,我添加了 Storyboard

enter image description here

最佳答案

很高兴再次见到你。尝试以下操作并检查下面的示例:

  1. 将两个 segue 从 ViewController(不是按钮)连接到目标 ViewControllers
  2. 将这些segues 指定为Segue 标识符(在我的示例中我选择了firstSeguesecondSegue)
  3. 将每个 Button 中的一个 IBAction 拖到您的 ViewController(firstButtonpressedsecondButtonPressed)
  4. 实现适当的prepareForSegue方法

示例

import UIKit

class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}

@IBAction func firstButtonPressed(sender: UIButton) {
performSegueWithIdentifier("firstSegue", sender: self)
}

@IBAction func secondButtonPressed(sender: UIButton) {
performSegueWithIdentifier("secondSegue", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.identifier!{
case "firstSegue": // Do stuff to prepare for first target VC
case "secondSegue": // Do stuff to prepare for second target VC
default: println("Segue not defined")
}
}
}

segues ibactions

如果您再次需要帮助,请回复我们。

将图像传输到 TargetVC

发送VC的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.identifier!{
case "firstSegue":
let destination = segue.destinationViewController as! TargetVC
destination.myImage = UIImage()
case "secondSegue": // Do stuff to prepare for second target VC
default: println("Segue not defined")
}
}

接收VC

class TargetVC: UIViewController {
var myImage : UIImage!
override func viewDidLoad() {
super.viewDidLoad()
}
}

关于ios - 从画廊或相机中挑选完图像后,我该如何进行 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321560/

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