如何全屏图像和类似苹果照片刷卡解雇

问题描述 投票:0回答:1

我如何能实现全屏图像,并驳回了苹果照片图像的功能?此外,怎样可以得到的图像的高宽比,以适应全屏视图内?难道他们发送一个UIImage到一个新的视图控制器?

我的当前fullscreening的图像的方法简单地设置一个UIImageView的帧等于上海华的框架而转动UINavigationBar的和UITabBar的阿尔法为0并关闭,我加了敲击手势识别器从上海华反转阿尔法和去除的UIImageView 。

这里是我的全屏和罢免代码

func fullscreen(forImage image: UIImage) {
    let imageView = UIImageView(image: image)
    imageView.frame = self.view.frame
    imageView.backgroundColor = .black
    imageView.contentMode = .scaleAspectFill
    imageView.clipsToBounds = true
    imageView.isUserInteractionEnabled = true

    self.navigationController?.navigationBar.alpha = 0
    self.tabBarController?.tabBar.alpha = 0

    let dismissTap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage))
    imageView.addGestureRecognizer(dismissTap)

    self.view.addSubview(imageView)
}

@objc func dismissFullscreenImage(_ sender: UITapGestureRecognizer) {
    sender.view?.removeFromSuperview()
    self.navigationController?.navigationBar.alpha = 1
    self.tabBarController?.tabBar.alpha = 1
}
ios swift uiimageview uiimage
1个回答
2
投票

这可以用苹果的QuickLook框架,它的伟大工程的许多扩展和图像的集合来实现。

编辑:你们中的大多数需要的功能内置在QLPreviewController

let previewController = QLPreviewController()
previewController.dataSource = self
self.present(previewController, animated: true, completion: nil)

数据源是任何类符合QLPreviewControllerDataSource协议

Here是从苹果的视频指导如何实现这一点很容易

编辑:这部分云在previewItemAt功能

guard let url = Bundle.main.url(forResource: "imageName", withExtension: "jpg")
     else {
        fatalError("Could not load imageName.jpg")
     }

return url as QLPreviewItem
© www.soinside.com 2019 - 2024. All rights reserved.