2011-03-21 2 views
2

나는 즉시 버튼을 클릭 한 후 조건문 후 정지로 활성화 할 필요가있는 활동 표시를 중지 ...UIActivityIndicatorView 시작 및

는 I이 있지만, 모두를 구현하기 위해 온라인 방법을 검토 한 결과 나는 누군가가 그것을 :)

+0

는 액션 asynchrone는

@synthesize ac; 
다음

[ac startAnimating]; 

하고 있습니까? 왜냐하면 콜백에서 애니메이션을 중단해야하기 때문입니다. –

+0

나는 asihttp를 사용하고 있으며 이것은 단지 syncroneous 요청 일 뿐이다. 아마도 비동기로 변경하면 작동 할 것이다 .. – MrPink

답변

10

꽤 똑바로 좋지 않을까 도울 수 있다면 아래에있는 내 기본 문제

-(IBAction)SavePassword:(id)sender{ 
\\start animating activity indicator 
if(post recieved no errors){ 
\\stop animating activity indicator 
} 
\\else{ 
return the user error 
} 

입니다 .... 오프 다시 그때를 켜고 간단하지 webviews로 설정을 할 수 있습니다 앞으로 ... 만들기 구현에 콘센트와 인터페이스 빌더에서 연결 ..

@property(nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator; 

은 ...

[self.activityIndicator startAnimating]; 

[self.activityIndicator stopAnimating]; 
+0

감사합니다. 정말 도움이되었습니다. 하지만 표시기를 숨김으로 설정 했으므로 단추를 눌렀을 때 표시되어야합니다 ... – MrPink

+3

활동 표시기에 'hidesWhenStopped'속성이 'YES'(또는 'TRUE')로 설정되어 있습니다. – lukya

+0

@MrPink 더 진행하기 전에 iOS 및 Objective C에 대한 기본 자습서를 읽는 것이 어떻습니까? – TheBlack

1

I를 시작하고 애니메이션을 중지하려면 다음 두 가지 방법을 사용 같은 방법으로있을 때 숨어서 보여주는 문제가있었습니다. 가시성을 설정하면 즉시 변경되지는 않지만 메서드가 끝나면 변경됩니다. 따라서 귀하의 경우에는 표시기가 (기술적으로 화면에 표시되지 않음) 몇 가지 작업을 한 다음 다시 숨길 수 있습니다. 사용자에게는 결코 나타나지 않습니다. 백그라운드 스레드에서 작업을 수행하려고 시도 할 수 있지만 스레드 안전성이 충분한 지 확실하지 않습니다.

[activityIndicator performSelectorInBackground:@selector(startAnimating) withObject:nil]; 
+0

당신은 그것을 표시해야한다고 말했고'YES '가 객체가 아니기 때문에'[indicator setHidden : NO];를 중심으로 다른 메소드를 감쌀 필요가 있습니다. 그런 다음 가시성 만 설정하는이 새로운 방법을 호출하십시오. –

0

장소 인터페이스 빌더의 도움으로 활동 표시를 (.hidden 같은 일반적으로 모든 그리기 기능은 주 스레드에서 발생해야하기 때문에).

다음 표시기의 이불을 만드십시오.

IBoulet UIActivityIndicator *ac; 

다음 속성을 선언하고 synethesize 그것을 구현 클래스에서 그것을

@property(nonatomic,retain) UIActivityIndicator *ac; 

을 senthesize. U 중지 할 경우

[ac stopAnimating];