2010-09-13 70 views
2

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

p.s.我宁愿不将它放在UIAlertView中,但我不知道如何以任何其他方式进行操作。

谢谢!
特里斯坦

alt text

回答

4

当然,创建一个新的UIView子类,叫它任何你喜欢的。添加几个ivars,一个用于您的活动指标,另一个用于您的消息(所以UIActivityIndicatorViewUILabel)。如果您愿意,可以将这些连接到属性,无论如何,这可能是标签的一个好主意。

您还需要定义一些方法,如-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,16x2,然后迅速将其缩小到我想要的大小,使其具有爆炸效果,在完成时淡出它,类似的东西)。尽管如此,我会把它作为一个练习。