iPhone SDK(void)viewDidLoad{}-쇼 진행
-
20-09-2019 - |
문제
저는 길 - (void)viewDidLoad { }
는 기능을 사용하여 인터넷 페이지를 로드할 때마다 응용 프로그램을 로드하는 URL,화면은 검은 색입니다.나 UIActivityIndicator
설정을 보여 주는 로드,하지만 난 어떻게 그것을 방지하기 위해서는 겉으로는 응용 프로그램의 경우 응답하지 않고 나는 원하지 않을 보여 네트워크를 활동 표시 [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
기 때문에 화면이 여전히 검은 색이 될만 있으로더에서의 상단 모서리를해야합니다.내 코드는 아래와 같이 있습니다:
- (void)viewDidLoad {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
email.text = [defaults objectForKey:@"mom_email"];
pass.text = [defaults objectForKey:@"mom_pass"];
if (email.text != nil && pass.text != nil) {
[self login:loginBtn];
}
}
- (IBAction)login:(id)sender {
[email resignFirstResponder];
[pass resignFirstResponder];
[loader startAnimating]; // Does nothing though
NSString *em = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)email.text,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8);
NSString *ps = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)pass.text,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8);
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:@"localhost" path:[[NSString alloc] initWithFormat:@"/app/login.php?email=%@&pass=%@", em, ps]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *loginResult = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
[loader stopAnimating];
NSRange range = [loginResult rangeOfString:@"1"];
if (range.location != NSNotFound) {
[self dismissModalViewControllerAnimated:YES]; // Doesn't do anything if function called from viewDidLoad
}
}
올바른 솔루션이 없습니다
다른 팁
Blocking 에 viewDidLoad 하고,새로운 스레드는 않습니다.다음은 init 보기 텍스트를 말하는 것은 로딩 및 업데이트는 어떤 콘텐츠가 필요하면 그것을 사용할 수 있습니다.
할 수 있는 어쩌면 텍스트를 추가 뭔가를 말하는 것입니다.또는 재생할 수도 있습와 있는 nsurlconnection 위임하는 방법을 제공합 진행됩 대신 진행 표시기.
제휴하지 않습니다 StackOverflow