0
嘿,我创建的iOS应用程序需要用户使用用户名和密码登录,然后将此用户名和密码发送到Web服务器进行认证。当它发送请求并等待响应时,我显示一个UIActivityIndicator。用户界面不能即时显示微调框
我得到的问题是,有时UIActivityIndicator会立即出现在按钮按钮上,而其他时间只有在几秒钟后才会出现。我猜是因为操作系统在更新用户界面之前执行了另一个线程,但是我想知道是否有人确切地知道可能是什么原因造成了这种延迟,或者只是说我的代码有问题。
我下面的代码:
-(void)loginPressed:(id)sender{
if ([self validateForm]) {
[self startLoadingAnimation:@"CONNECTING"];
[Session theSession].authenicatedUsername = usernameTextField.text;
[Session theSession].authenicatedPassword = passwordTextField.text;
usernameTextField.text = @"";
passwordTextField.text = @"";
[self setUserDetailsBasedOnUserID:[Session theSession].authenicatedUsername password:[Session theSession].authenicatedPassword];
}else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"MISSING_LOGIN_DETAILS_TITLE", @"")
message:NSLocalizedString(@"MISSING_LOGIN_MESSAGE", @"")
delegate:self
cancelButtonTitle:NSLocalizedString(@"OK_BUTTON", @"")
otherButtonTitles:nil];
[alert show];
[alert release];
}
}
感谢
感谢OMZ,似乎做的正是我需要它。可悲的是,我必须让用户等待,因为应用程序使用的所有数据都必须是最新的,而且我无法在手机上存储任何内容 – williamb 2011-01-13 17:28:52