如何在模态呈现时关闭 MWPhotoBrowser?
How to dismiss MWPhotoBrowser while presenting modally?
我正在使用 MWPhotoBrowser 实例在我的应用程序中显示相册或单张图像。在使用导航控制器时,我只需按下后退按钮即可弹出视图控制器。
我希望以模态方式呈现它,但我不知道如何拒绝它。
我尝试了以下代码,希望能够向下滑动以关闭,但无济于事。
let browser = MWPhotoBrowser(photos: photos)
browser?.delegate = self
browser?.enableSwipeToDismiss
self.present(browser!, animated: true, completion: nil)
(photos是一个MWPhoto数组)
任何人都可以指出解决方案吗?谢谢
考虑到您无法编辑 MWPhotoBrowser
。您可以通过在
之后添加一个浮动按钮来解决这个问题
let windowButton: UIButton = UIButton(type: UIButtonType.custom)
let browser:MWPhotoBrowser? // declared outside functions
self.present(browser, animated: true, completion: {
self.windowButton.frame = CGRect(x: 20, y: 100, width: 50, height: 50)
self.windowButton.backgroundColor = UIColor.brown
self.windowButton.addTarget(self, action: #selector(self.dismissFunc), for: UIControlEvents.touchDown)
if let window:UIWindow = (UIApplication.shared.delegate?.window)! {
window.addSubview(self.windowButton)
}
})
func dismissFunc() {
self.browser.dismiss(animated: true, completion: {
self.windowButton.removeFromSuperview()
})
}
我正在使用 MWPhotoBrowser 实例在我的应用程序中显示相册或单张图像。在使用导航控制器时,我只需按下后退按钮即可弹出视图控制器。 我希望以模态方式呈现它,但我不知道如何拒绝它。 我尝试了以下代码,希望能够向下滑动以关闭,但无济于事。
let browser = MWPhotoBrowser(photos: photos)
browser?.delegate = self
browser?.enableSwipeToDismiss
self.present(browser!, animated: true, completion: nil)
(photos是一个MWPhoto数组)
任何人都可以指出解决方案吗?谢谢
考虑到您无法编辑 MWPhotoBrowser
。您可以通过在
let windowButton: UIButton = UIButton(type: UIButtonType.custom)
let browser:MWPhotoBrowser? // declared outside functions
self.present(browser, animated: true, completion: {
self.windowButton.frame = CGRect(x: 20, y: 100, width: 50, height: 50)
self.windowButton.backgroundColor = UIColor.brown
self.windowButton.addTarget(self, action: #selector(self.dismissFunc), for: UIControlEvents.touchDown)
if let window:UIWindow = (UIApplication.shared.delegate?.window)! {
window.addSubview(self.windowButton)
}
})
func dismissFunc() {
self.browser.dismiss(animated: true, completion: {
self.windowButton.removeFromSuperview()
})
}