2013-02-15 86 views
0

動畫我有一個要求,即當用戶點擊提交登錄屏幕上的按鈕,我需要動畫一個UIActivityIndicator,但 - 使用下面的代碼 - 這是不是動畫:活動指示燈不iphone

-(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值。如果有效,發送詳細信息方法被調用,我在調用存儲庫來檢查值。完成後,我停止活動指示器。有誰知道如何解決上述問題?

+1

檢查您是否已將IBOutlet與指示器連接。 – rptwsthi 2013-02-15 11:48:08

+0

是IBOUTLET連接?如果是,你檢查了連接嗎? – 2013-02-15 11:48:48

+0

亞我已檢查 – kishore 2013-02-15 11:50:52

回答

1

如果您已經使用了界面生成器來進行Activity指示器,那麼定義它的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]; 
     } 
    } } 
+0

我定義的屬性,也連接了插座 – kishore 2013-02-15 12:36:36

+0

我剛剛檢查其工作。你只需要檢查連接。還有一件事我只是懷疑是使用performSelector:withDelay方法,而不是你已經使用的方法。這可能會提供4到5秒的延遲來啓動動畫。 – Rahul 2013-02-15 12:47:18

+0

確定後修改我會告訴你它的工作與否 – kishore 2013-02-15 12:57:45