画像ビューにタップジェスチャ認識機能のアクションを追加しました。画像がタップされると、それは全画面に拡大され、一度タップされると全画面を閉じる。すでに展開されている画像を拡大するにはどうすればいいですか?画像をフルスクリーンにするためのコードは次のとおりです。拡大表示のピンチジェスチャ認識機能
//expand image
let newImageView: UIImageView!
@IBAction func imageTapped(_ sender: UITapGestureRecognizer)
{
let imageView = sender.view as! UIImageView
let scrollView = UIScrollView(frame: self.view.frame)
let newImageView = UIImageView(image: imageView.image)
newImageView.frame = self.view.frame
newImageView.backgroundColor = .black
newImageView.contentMode = .scaleAspectFit
newImageView.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage))
scrollView.addGestureRecognizer(tap)
scrollView.delegate = self
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 5.0
scrollView.addSubview(newImageView)
self.view.addSubview(scrollView)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView?
{
return newImageView;
}
func dismissFullscreenImage(_ sender: UITapGestureRecognizer) {
sender.view?.removeFromSuperview()
}
funcを
viewForZooming
デリゲートを覚えて、私は触れることができるように、フルスクリーンに行きたい、と一度フルスクリーンにズームする機能。私は同じページに表示する必要がある他の情報と "プロファイル"ページ上の複数の画像を持っています。 –これは、クラスが "let newImageView:UIImageView!"のイニシャライザを持たないことを示すエラーを返しました。これをnilに設定しようとしましたが、ビルドしましたがズームしませんでした。 –
あなたのコードを更新できますか?だから私はそれで何が間違っているか確認できますか? –