在 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 中单击按钮时,如何在视图控制器顶部显示视图?的主要内容,如果未能解决你的问题,请参考以下文章