在iOS应用程序中显示弹出窗口

弹出窗口很重要。 有时,它们很烦人(是的,我说的是网页上的随机弹出窗口)。 当它们很重要时,它们可以显示有关应用程序执行,状态管理,要求用户提供输入或某些访问权限等信息。 那么,如何在iOS应用中显示有意义的弹出窗口? 让我们找出答案!

启动Xcode

首先,让我们在Xcode上打开一个项目。 我们还要如何开始? .__。 创建一个单视图iOS应用程序

接下来,在启用了助手编辑器的情况下打开Main.storyboard

现在,让我们凝视空白的UIView一会儿,然后迷失在应该做什么上。 好吧,没那么多。 我们需要显示一个弹出窗口。 但是弹出窗口需要由某种东西触发,或者用一些事件/动作来触发。 那么我们如何触发事件/动作 ? 考虑可以触发或向ViewController发送某些动作的控件。

最简单的方法:添加按钮!

好的,让我们向视图添加一个按钮。 但是,仅添加按钮就能完成我们的工作吗? 不。 这不是魔术!

首先,为按钮创建一个插座,因为按钮无法创建自身。 ( 按住Ctrl键并单击鼠标左键,然后将其拖放到ViewController.swift文件中)。让我们将其命名为popButton 。 现在,您的ViewController.swift文件应如下所示。

那个小按钮?

继续前进,按钮看起来很小,但吸引力不大。 让我们添加一些样式。 就我们而言,仅更改Font和Font大小就可以了。 还让我们给它一个有意义的标题,而不只是“ Button ”。

根据图像设置字体和标题。 现在,我们正在进行样式设计,现在,我们的按钮如下所示–

我知道你会问这个问题。 稍安毋躁。 我们到了那里。

是时候添加一些动作了!

好的,现在让我们为按钮插座创建一个动作。 将其命名为showPopUp。 应该是这样的

现在已经定义了动作,让我们开始显示弹出窗口。

UIAlertController:那是什么?

UIAlertController负责在我们今天看到和使用的iOS应用程序中创建弹出窗口。 因此,按照Apple Documentation的术语,我们需要创建一个UIAlertController实例并呈现 (显示)它。 首先创建UIAlertController

actionSheet弹出窗口从底部显示,可以容纳多个动作。 一个例子可以清楚地说明这一点。

另一方面,警报看起来像这样-

从图像中可以明显看出差异。 目前,我们将显示警报。 因此,我们的代码如下所示:

好的,我们定义了警报,那么我们如何显示或显示警报呢? 有一种称为present的方法。 我们将使用它。 present需要3个参数-警报,在弹出时是否应设置动画以及完成时应执行的操作。 因为我们在这里不需要动画,所以将动画设置为true,将完成设置为nil。 但是,您可以根据需要定义一个闭包。

现在运行它。 (如果您的Mac运行缓慢,请等待模拟器)

Aaaaand我们弹出了,请稍等。 我们如何摆脱这一困境? 轻按屏幕上的其他任何位置根本无法执行任何操作。 腥! 那么我们如何摆脱这个问题呢?

休斯顿,我们有问题

除非我们为其定义一些操作,否则烦人的警报不会消失。 是的。 那么该怎么做呢? 为此 ,我们将使用UIAlertAction 。 因此,让我们在弹出窗口上添加一个简单的操作,该操作将显示一个“确定”按钮,当我们点击该按钮时,警报将消失!

在那之前有话要说。 动作也有风格,它们是什么? UIAlertAction具有3种样式–

  1. 取消 -以便用户获得某些操作将被取消的指示。
  2. default-默认行为,表示前进。 与操作。
  3. 破坏性 -某些内容将被删除。

因此,现在我们需要定义操作并将其添加到警报中。

现在,让我们再次在模拟器上运行它。 这次弹出窗口将屈服于我们的意愿。

是的 是的! 如果我们要添加更多操作怎么办? 好吧,以相同的方式定义它们并将它们添加到警报控件中。 EZ。

行动表呢?

谈论弹出窗口而不谈论行动表是不公平的。 现在的好处是,我们不需要完全更改现有代码。 我们只需要将警报的样式更改为actionSheet。 它可以在那里,但是操作单上的单个操作看起来并不好。 因此,让我们添加更多。

这就是它的外观。

如果仔细观察,则Nope动作具有“取消”样式,并且与其他动作分开。 嗯,这就是他们设计的方式,也是合法的。 同样,“诅咒”动作也标记为红色,因为我们将其样式设置为“破坏性”。

包起来!

因此,这是显示弹出窗口的基本知识,但是可以通过调整使弹出窗口变得通用,我们将其留待以后发表。 然后说sayon​​ara。