如何在模态显示时关闭 MWPhotoBrowser?

Posted

技术标签:

【中文标题】如何在模态显示时关闭 MWPhotoBrowser?【英文标题】:How to dismiss MWPhotoBrowser while presenting modally? 【发布时间】:2016-12-03 09:59:55 【问题描述】:

我正在使用 MWPhotoBrowser 实例在我的应用程序中显示相册或单个图像。在使用导航控制器时,我可以简单地按下后退按钮来弹出视图控制器。 我希望以模态方式呈现它,但我不知道如何关闭它。 我尝试了以下代码,希望能够向下滑动以关闭,但无济于事。

    let browser = MWPhotoBrowser(photos: photos)
    browser?.delegate = self
    browser?.enableSwipeToDismiss
    self.present(browser!, animated: true, completion: nil)

(photos 是一个 MWPhoto 数组)

谁能指出我的解决方案?谢谢。

【问题讨论】:

您只需要一种方式在模态呈现 vc 后将其关闭? 这就是你解除模态呈现的 VC 解除(动画:false,完成:无)的方式。 @vaibhav 是的,我知道一般情况下如何做到这一点,但在这种特定情况下不知道。 考虑到这种情况,您可以为此使用浮动按钮。如果这不是您要找的,请告诉我 @KrishnaCA 是的,这正是我想要的! 【参考方案1】:

考虑到您无法编辑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?的主要内容,如果未能解决你的问题,请参考以下文章

如何在模态窗口中显示 pdf? [关闭]

关闭表格视图控制器上方的模态显示视图控制器时,如何从表格视图控制器中取消选择行?

python测试开发django-187.Bootstrap模态框(modal)如何在关闭时触发事件

在 Swift 中显示和关闭模态视图控制器

使用 SwiftUI,我们在 List 中安装了一个 Button。为啥当我点击按钮显示模态然后再次关闭时模态消失?

ReactStrap 模态关闭图标未在模态中显示以及如何将标题与其他标签一起使用