在 iOS 中单击按钮时,如何在视图控制器顶部显示视图?

Posted

技术标签:

【中文标题】在 iOS 中单击按钮时,如何在视图控制器顶部显示视图?【英文标题】:How to present a view on the top of the view controller when a button is click in iOS? 【发布时间】:2017-06-19 12:14:52 【问题描述】:

我希望在单击按钮时实现弹出视图。弹出视图包含一些选项,通过这些选项可以刷新ViewController 中的表视图。事实上,它实际上是过滤器选项。 显示的截图是:

【问题讨论】:

请发布答案或与github repo..我一定会支持它。 您可能正在搜索this。 【参考方案1】:

方法一:

创建一个带有 Button 的 UIView 并在您不想显示它时隐藏它,并在您想要有或没有动画时显示它。并在按钮操作方法中刷新表格视图。

方法二:

再创建一个背景透明的viewcontroller并呈现在tableviewcotroller上,然后通过delegate处理按钮动作。

模糊 VC 背景:

let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = self.view.frame
self.view.insertSubview(blurEffectView, atIndex: 0)

【讨论】:

视图出现时如何模糊视图控制器的背景??【参考方案2】:

    您可以将视图添加为子视图。这仍将允许用户与表格视图的其他部分(我的意思是 superView)进行交互。

    您可以像 UIAlertview 一样使用弹出窗口,它使用单独的窗口来显示弹出窗口,除非用户单击它,否则您无法与其他 UI 交互。使用可以使用一些已经可用的免费组件。你可以参考this link

【讨论】:

【参考方案3】:

在视图顶部添加弹出视图。

尝试类似:

斯威夫特 3+

 self.view.addSubview(yourSubview)

或 如果广告提供者的视图没有添加到 self.view 而是添加到 [UIApplication sharedApplication].keyWindow 之类的东西?

在 Swift 3+ 中:

UIApplication.shared.keyWindow!.bringSubview(toFront: yourSubview)

【讨论】:

以上是关于在 iOS 中单击按钮时,如何在视图控制器顶部显示视图?的主要内容,如果未能解决你的问题,请参考以下文章

单击单元格按钮时如何显示视图

如何在单击按钮 iOS 5 时加载现有的表视图控制器

单击后退按钮iOS 6时如何继续播放音频

单击隐藏选项卡视图控制器中的后退按钮时如何显示选项卡

在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

在ios 7 xcode中单击滚动视图上方的按钮时,如何滚动滚动视图?