[iOS] 동기적으로 동작하는 UIAlertView (Custom UIAlertView)
UIAlertView *WaitPrompt()
{
UIAlertView *alert = [[[UIAlertView alloc]
initWithTitle:@"Contacting Server\nPlease Wait..."
message:nil delegate:nil cancelButtonTitle:nil
otherButtonTitles: nil] autorelease];
[alert show];
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator.center = CGPointMake(alert.bounds.size.width / 2,
alert.bounds.size.height - 50);
[indicator startAnimating];
[alert addSubview:indicator];
[indicator release];
// 250ms pause for the dialog to become active...
int n=0;
while(n < 250)
{
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
Sleep(1);
n++;
}
return alert;
}
사용자가 버튼을 누를 때까지 대기하는 경우
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Contacting Server\nPlease Wait..."
message:nil
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
while ((!alert.hidden) && (alert.superview != nil)) {
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
}
[alert release];
응용하면 버튼을 직접 추가하고 일정시간후 활성화 되는 버튼도 가능은 하겠으나 원하는 버튼 스타일이 아마...풉 -_-;
'iOS' 카테고리의 다른 글
[iOS] 회전 이벤트 받기 (Detecting rotation to landscape manually) (0) | 2012.05.31 |
---|---|
[iOS] Cocoa Views Guide (Working with the View Hierarchy) (0) | 2012.05.31 |
[iOS] animateWithDuration: delay: options: animations: completion: 함수 사용 예 (0) | 2011.10.13 |
[iOS] 외부 폰트 사용하기 (0) | 2011.10.12 |
[iOS] UIWebView 에 Bounce 효과 제거 (0) | 2011.10.10 |
[iOS] UIView 흔들기 효과 (0) | 2011.09.28 |
[iOS] In App Purchase 앱에서 구매내역 확인 (0) | 2011.09.20 |
[iOS] 현재 시간을 GMT로 표시하기 (0) | 2011.09.20 |
[iOS] Device ID (0) | 2011.09.19 |
[iOS] 문장이 화면에 표현되는 높이와 길이 얻기 (0) | 2011.09.05 |