双击将图像移动到其他视图

时间:2016-12-09 02:17:15

标签: ios swift uiscrollview uiimageview uitapgesturerecognizer

我是Swift的新手,我正在寻找一种方法,可以通过双击将图像移动到其他视图控制器。

我将我的图像设置为滚动视图,因此我可以滑动查看它。

这是我的代码。

class Quotes: UIViewController, UIScrollViewDelegate {

   @IBOutlet weak var scroll: UIScrollView!

let imageview = ["quotes1","quotes2","quotes3","quotes4"]
var imagine = UIImageView()
override func viewDidLoad() {
    let tap = UITapGestureRecognizer(target: self, action: #selector(doubletap))
    tap.numberOfTapsRequired = 2
    view.addGestureRecognizer(tap)
    self.navigationController?.setNavigationBarHidden(true, animated: true)
    quotesimageload()
    }
func quotesimageload() {
    for index in 0 ... imageview.count - 1
    {
        imagine = UIImageView (frame:CGRect(x: self.scroll.frame.width * CGFloat(index), y: 0 , width: self.scroll.frame.width, height: self.scroll.frame.height))
        imagine.image = UIImage(named : imageview[index])
        imagine.tag = index
        imagine.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        self.scroll.addSubview(imagine)
    }
    self.scroll.contentSize = CGSize(width: self.scroll.frame.width * CGFloat(imageview.count), height: self.scroll.frame.height)
  }
func doubletap(){
    let view = self.storyboard?.instantiateViewController(withIdentifier: "pinch")
    self.navigationController?.pushViewController(view!, animated: true)

        }

}

1 个答案:

答案 0 :(得分:0)

您没有完全图像移动到另一个视图控制器 - 您将其副本传递给目标VC。

在secondVC中设置一个“var”UIImage(假设你称之为图像),然后在将VC推入视图之前,从第一个VC中填充它。

还有一点需要注意 - 将UIViewController命名为“view”可能会非常混乱,因为很多人会认为这是一个UIView。因此,假设您将其重命名为pinchViewController,完整语法将为:

第二个VC:

var image:UIView!

第一个VC:

func doubletap(){
    let  pinchViewController = self.storyboard?.instantiateViewController(withIdentifier: "pinch")
    pinchViewController.image = imagine.image
    self.navigationController?.pushViewController(view!, animated: true)
}

如果你在IB中有正确编码和/或连接的东西,你应该在显示图像的第二个VC中使用UIImageView。