0

ユーザーがログイン画面の送信ボタンをクリックしたときにアニメーション化する必要がありますが、UIActivityIndicator以下のコードを使用すると、アニメーション化されません。

-(IBAction)loginButtonAction:(id)sender {
    [currenttextfield resignFirstResponder];
    [self.spinner startAnimating];
    BOOL valid=[self emailvalidate];

    if(valid) {
        if (!self.passwordstring.length ==0  && ![self.passwordstring isEqualToString:@" "] && ![self.passwordstring isEqualToString:nil] && !self.emailstring.length ==0  && ![self.emailstring isEqualToString:@" "] && ![self.emailstring isEqualToString:nil] ) {
            [self performSelectorOnMainThread:@selector(sendDetails) withObject:nil waitUntilDone:YES];
        }
    }
}  

このメソッドは、最初にEmailValidateを呼び出して値を返しBOOLます。有効な場合、値をチェックするためにリポジトリを呼び出している詳細送信メソッドが呼び出されます。これが完了したら、アクティビティインジケーターを停止します。上記の問題を解決する方法を知っている人はいますか?

4

1 に答える 1

1

アクティビティ インジケーターにインターフェイス ビルダーを使用した場合は、その IBOutlet とそのプロパティを定義します。

-(IBAction)loginButtonAction:(id)sender{

    [currenttextfield resignFirstResponder];
    [activityIndicator startAnimating];

    BOOL valid=[self emailvalidate];
    if(valid) {
        if (!self.passwordstring.length ==0  && ![self.passwordstring isEqualToString:@" "] && ![self.passwordstring isEqualToString:nil] && !self.emailstring.length ==0  && ![self.emailstring isEqualToString:@" "] && ![self.emailstring isEqualToString:nil] ) {
            [self performSelectorOnMainThread:@selector(sendDetails) withObject:nil waitUntilDone:YES];
        }
    } }
于 2013-02-15T12:34:02.257 に答える