2012-01-28 7 views

답변

2

예는 라벨 및 표준 UIActivityIndicator와도이다.

0

이것은 하나의 내장 클래스가 아닙니다. 오히려 그 구성은 다음과 같습니다.

  • 사용자 정의 투명보기, 가능하면 이미지.
  • 표준 활동 지시자.
  • 표준 라벨.

비슷한 것을 만들고 싶다면 쉽게 모든 것을 하나의 클래스에 넣을 수 있습니다.

+0

감사합니다 : 다행히, 종류 타사 좋은 오픈 소스 구현을 만들었습니다! 전 휠체어를 재발견하기 전에 확인하고 싶었습니다. –

1

사용자 정의보기가 필요하지 않습니다. 완전히 테스트되지 않은 코드와 같은 코드는 다음과 같이 처리합니다.

- (UIView *)busyOverlayViewWithText:(NSString *)text { 
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(80, 120, 160, 160)]; 
    view.opaque = NO; 
    view.clipsToBounds = YES; 
    view.backgroundColor = [UIColor colorWithWhite:0 alpha:.2]; 
    view.layer.cornerRadius = 8; 

    UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge]; 
    spinner.center = CGPointMake(80, 30); 
    [spinner startAnimating]; 
    [view addSubview:spinner]; 

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 60, 160, 100)]; 
    label.text = text; 
    label.textColor = UIColor.whiteColor; 
    label.backgroundColor = UIColor.clearColor; 
    label.textAlignment = UITextAlignmentCenter; 
    label.numberOfLines = 0; 
    label.lineBreakMode = UILineBreakModeWordWrap; 
    [view addSubview:label]; 

    return view; 
} 

이것은 ARC를 사용합니다. 수동 메모리 관리를 사용하는 경우 릴리스 추가 (자동).

+0

작성한 내용은 사용자 정의보기입니다. 따라서 "사용자 정의보기가 필요하지 않습니다"라는 것은 잘못되었습니다. 또한 귀하의 코드에 메모리 문제가 의심됩니다. – taskinoor

+0

나에게 "사용자 정의보기"는 'UIView'의 하위 클래스를 의미합니다. –

+0

또한, 내 코드에는 메모리 문제가 없습니다. 내가 테스트하지 않았을 때 나는 ARC를 사용했다. –