2013-02-15 90 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