2011-03-14 2 views
1

내 앱에 사용자 지정 활동 표시기를 추가하려고합니다.(아이폰) 맞춤 활동 표시기의 싱글 톤을 만드시겠습니까?

표시기를 표시하고 싶은 곳이 많으므로
나는 쉽게 액세스 할 수 있도록 싱글 톤으로 만드는 것이 좋습니다.

원하는 싱글 톤 클래스를 만들기 위해 약간 수정할 수 있습니다. Singleton Class iPhone

하나의 문제는 분명히 표시기보기를 일부보기 (서브보기로)에 추가해야한다는 것입니다.
그리고 지표보기를 하위보기로 추가 할 수있는 곳에서 액세스 할 수있는 싱글 톤보기가 있는지 궁금합니다.

답변

1

당신이 싱글을 사용할 수 있습니다 감사,하지만 난 당신이 UIView의 요소 싱글 톤을 사용하지 권합니다.

UIView 요소는 하나의 수퍼 뷰 만 가질 수 있으므로 singleton.activityindicator를 사방에 사용하는 경우 새 뷰에 추가하기 전에 수퍼 뷰에서이를 제거해야하므로 많은 부기가 필요합니다. 예를 들어 이전 superview에서 다른 곳을 표시 할 때 제거해야합니다. 이전 superview로 돌아갈 때 (사용자가 일부 nav 컨트롤이나 다른 것을 클릭하여), 이제 다시 superview에 추가해야하는지 결정해야합니다. 새로운 슈퍼 뷰 등.

내 디자인에서 하나의 UIView에 싱글 톤을 사용합니다. 즉, 광고 배너보기입니다. 나는 앱 전반에 걸쳐 하나의 광고를 유지하면서 다른 nav 컨트롤러에서 동일한 광고를 사용하고 싶었습니다. 그러나 그것은 엉덩이에 큰 고통이었습니다.

그냥, 하나를 만들 뷰에 추가하고, 내 의견 : 당신은 사용자 정의 클래스에 UIView를 추가 한 다음에 activityIndicator을 추가 할 수 있습니다

+0

생각을 추가, 뷰를 하위 뷰로 만들면 이전 수퍼 뷰에서 자동으로 제거됩니다. 내가 틀렸다면 나에게 맞춰주세요. – eugene

+0

알려주세요. 내 테스트에서, 그것은 superview에서 autoremove하지 않았다. 싱글벙 광고를 많은 수퍼 뷰에 추가 할 때 수퍼 뷰 중 아무도 그것을 표시 할 수 없습니다 (모두 블랙 아웃 됨). 또한 활동 지표가오고가는 경우는 어떻습니까? 예를 들어 활동을 시작하여 현재보기에 표시한다고 가정 해 보겠습니다. 활동 도중 새로운보기를 누른 다음 활동이 끝난 후 다시 팝업됩니다. 활동을 읽어야하는지 여부를 어떻게 처리할까요? viewcontrlr 당 활동 표시기를 유지하는 것이 훨씬 쉬우 며 각 핸들에 대한 대리자 메소드가 표시/숨기기되도록합니다. –

+0

thx, best solution – SamuelChan

0

에 .. 간단 완료되면 제거합니다.

-1

initWithFrame 메도 내부 UIView 클래스

을 가지고 :

// call this methode from the class where u want to animate custom indicator 
(void)startAnimating 
{ 
    [customActivityIndicatorstartAnimating]; 
} 

가 메도 보자 :

//this method create custom activity indicator 
    UIImage *startImage = [UIImage imageNamed:@"1.png"]; 
    customActivityIndicator = [[UIImageView alloc] //take in in .h file 
      initWithImage:startImage ]; 


    //Add more images which to be used for the animation 
    customActivityIndicator.animationImages = [NSArray arrayWithObjects: 
      [UIImage imageNamed:@"1.png"], 
      [UIImage imageNamed:@"2.png"], 
      [UIImage imageNamed:@"3.png"], 
      [UIImage imageNamed:@"4.png"], 
      [UIImage imageNamed:@"5.png"], 
      [UIImage imageNamed:@"6.png"], 
      [UIImage imageNamed:@"7.png"], 
      [UIImage imageNamed:@"8.png"], 
      nil]; 


    //Set animation duration 
    customActivityIndicator.animationDuration = 0.5; 


    //set frame at the middle of the imageview 
    customActivityIndicator.frame = self.frame; 

가 메도 가지고

// call this methode from the class where u want to stope animate custom 
(void)stopAnimating 
{ 
    [customActivityIndicatorstaopAnimating]; 
} 
+0

이것은 싱글 톤이 아닙니다.) – tamasgal