加载过程 - 不同的UILabels

时间:2016-04-19 21:06:39

标签: ios objective-c uibutton uilabel uiactivityindicatorview

在我的应用程序中,我有一个UIButton,当你点击它时,我有一个UIActivityIndi​​catorView,我想在加载时添加不同的UI标签。它实际上不是一个真正的加载过程,它只是为了外观。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

第1步:

创建自定义UIView(如果需要,你可以使用xibs)。该视图应该有第二个UIView作为其中的容器。当您初始化视图时,将其设置为与您放入的viewController相同的大小。其背景颜色是透明的(如果您想要具有灰色效果,则为黑色,具有较低的alpha)。将容器设置为您希望它显示的实际大小。

第2步:

将UIActivityIndi​​catorView和UILabel放入容器中。说出你喜欢的方式。

第3步:

编写使用计时器的标签更新方法。 performSelector:afterDelay:或dispatch_after。有此方法设置标签文本,等待一段时间,然后更改文本,等待一段时间,再将其更改等。

第4步:

编写showIndicator()和hideIndicator()方法。视图和容器的隐藏属性应设置为true。当调用showIndicator()时,将hidden设置为false并从步骤3调用标签更新方法。当您到达所有标签更改的末尾时,将所有内容设置回hidden = true

它应该像这样工作。视图控制器加载并添加此视图。视图占据整个屏幕,但您无法看到任何内容,因为默认情况下它是隐藏的。用户点击按钮并调用showIndicator()方法。视图变得可见。虽然它占据了整个屏幕,但它看起来是一个小的叠加,因为背景是透明的(或背面带有灰色外观的alpha),并且容器具有较小的框架和纯色。延迟方法现在也被调用,它会更改标签,等待,更改标签等。当您到达序列的末尾时,将调用hideIndicator()并将所有视图设置回hidden = true。祝好运!!!