我是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)
}
}
答案 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。