2

我想在带有文本的圆形透明框中显示 UIActivityView,就像下面显示的那样。有谁知道如何做到这一点?

ps 我宁愿不把它放在 UIAlertView 中,但我不知道该怎么做。

谢谢!
特里斯坦

替代文字

4

1 回答 1

4

当然,创建一个新的 UIView 子类,随意调用它。添加几个 ivars,一个用于您的活动指示器,一个用于您的消息(所以 aUIActivityIndicatorView和 a UILabel)。如果您愿意,可以将它们连接到属性,这对于标签来说可能是个好主意。

您还需要定义一些方法,例如显示和隐藏视图-show-hide你可以随心所欲地制作精美的动画,如果你愿意,我不打算在这里讨论。

接下来你要做的事情(或者至少我是怎么做的)是创建视图,通过指定它的框架,让我们像这样定义它:

UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow];
CGFloat width = 160;
CGFloat height = 160;
CGRect centeredFrame = CGRectMake(round(keyWindow.bounds.size.width/2 - width/2),
                                  round(keyWindow.bounds.size.height/2 - height/2),
                                  width, height);

这将使它成为 160x160。将其调整backgroundColor为 50% 的不透明度,确保其opaque属性也设置为 NO。您还需要类似的东西:

self.layer.cornerRadius = 10;

self指向您自然创建的视图的位置。

这应该是足够的信息让你开始,大多数人动画它(我通常把它做得很大,即 160x2 x 160x2,然后迅速将它缩小到我想要的大小,给它一个弹出效果,淡出它完成,诸如此类的东西)。不过,我会把它留给你作为练习。

于 2010-09-13T06:36:46.620 回答