2011-11-04 220 views
1

我正在使用第三部分UIActivityIndi​​cator SVProgressHUD,我initalising这当我的视图加载。我想延迟activityIndi​​cator大约1秒,而在我的应用程序中发生一些事情。然后调用[SVProgressHUD解除];基于那1秒等待..但不知道如何做到这一点。SVProgressHUD如何延迟指定的时间

目前这是我的代码看起来是在viewDidLoad中

[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack]; 
    [SVProgressHUD setStatus:@"loading..."]; 

    [SVProgressHUD dismiss]; 

我知道有一个dismisswithsucsess:定时器..但这似乎延迟的时间出现在sucsess消息量,我不希望..我想推迟指标,并没有文字..但只是想不到一种方式来做到这一点。

我已经试过

sleep(1); //which dosnt work 

我也试过

//[SVProgressHUD performSelector:@selector(stopAnimating) withObject:nil afterDelay:0]; 

抹SVProgressHUD解雇];在stopAnimating方法里面,但是这个看起来好像所有的调用都需要在同一个方法中。

回答

10

你可以使用一个计时器来设置驳回视图像这样的方法:

[NSTimer scheduledTimerWithTimeInterval:1 target:self 
selector:@selector(myMethod) userInfo:nil repeats:NO]; 

随着方法:

-(void)myMethod:(NSTimer*)timer { 
    // Dismiss your view 
    [progressthingy dismiss]; 
} 
+0

是啊..我会现在就来试试吧。 –

+0

我编辑了这篇文章,让你知道你的方法应该看起来像 – Wesley

+0

IT WORKED!谢谢你..这是一个方便的功能! –