2010-07-20 4 views
1

그룹 스타일로 UITableView가 포함 된 iPhone 앱이 있습니다. 은의 ViewController에서 나는 속성 같은 UIActivityIndicatorView 정의 :UITableView 섹션 뷰어의 UIActivityIndicatorView가 방향 변경시 사라집니다.

self.browsingIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; 
browsingIndicator.hidesWhenStopped = YES; 

내가 테이블 섹션 헤더 중 하나에이 스피너를 배치 할이가 작동

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    UIView *sectionHeader = [[[UIView alloc] init] autorelease]; 
    [sectionHeader addSubview:browsingIndicator]; 
    browsingIndicator.center = CGPointMake(20, 30); 

    return sectionHeader; 
} 

. 이제 문제는 : 일단 장치 방향을 변경하면 활동 표시기가 사라지고 볼 수있는 화면 밖으로 끌어서 다시 넣을 때만 다시 나타납니다. 장치를 원래 방향으로 되돌릴 경우 "hidesWhenStopped"를 NO로 변경하면 도움이되지 않습니다. 둘 다.

누군가 나를 올바른 방향으로 안내 할 수 있습니까? 감사!

답변

1

답변 주셔서 감사합니다. 마이크,하지만 그게 아닌 것 같아요. UIActivityIndicatorView의 위치가 지정되고 크기가 올바르게 조정되었지만 그려지지 않았습니다. sectionHeader를 강제로 다시 볼 때 (보기 밖으로 스크롤하여) 정확한 위치, 심지어 가로 방향으로 회전합니다.

나는 autoResizingMask를 명시 적으로 설정하려고 시도했으나 사라지는 것이 변경되지 않았습니다.

편집 : 정말 여기 일을 회원 가입없이 포스트/코멘트를하지 않았다, 당신의 대답에 대해 언급 할 수 없습니다, 죄송합니다 : -/

Edit2가이 :

[sectionHeader addSubview:browsingIndicator]; 

일부가 될 것 같다 문제의 browsingIndicator를 직접 반환하면 제대로 작동합니다.

지금 해결할 종류 : viewForHeaderInSection 메서드 외부의 섹션 헤더에 대한 UIView를 정의한 다음 반환하면 작동합니다.

+0

당신이 머리글을 자동으로 리사이징하고 있기 때문에 그것은 나중에 풀릴 수 있습니다. 당신이 "uiview outside ...의 정의"라고 말할 때, 그것은 당신이 어딘가에 그것을 유지하고 있기 때문에 효과가 있습니다, 그래서 그것은 공개되지 않습니다. – user102008

+0

와우 ... 너와 OP 모두 똑같은 Identicon O.o를 가지고있다. –

-1

스피너의 autoResizingMask 속성을 적절하게 설정하려고합니다.

관련 문제