2012-03-09 2 views
0

사용자 정의 UIView가 있습니다. initWithFrame에서 이미지를 추가합니다.iPhone : 서브 뷰 재배치

- (id)initWithFrame:(CGRect)frame 
{ 
self = [super initWithFrame:frame]; 
if (self) { 
    self.bgImage = [[[UIImageView alloc] initWithFrame: 
     CGRectMake(frame.size.width - 10, 20, 50 , 50)] autorelease]; 
    [self.bgImage setImage:[UIImage imageNamed:@"myImage.png"];]; 
}  
return self; 
} 

사용자 정의 UIView를 만들면 모든 것이 잘됩니다. 그러나 프레임을 변경하면 이미지 위치가 변경되지 않았습니다. 그것을 고치는 방법? 자동 크기 조정 마스크로 시도했지만 도움이되지 않았습니다.

답변

4

무시과 같이 layoutSubviews은 : 재 레이아웃이 필요할 때마다

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    self.bgImage.frame = CGRectMake(frame.size.width - 10.0f, 20.0f, 50.0f, 50.0f); 
} 

기본적으로,이 불려갑니다. 따라서 필요한 모든 하위 뷰의 프레임을 설정해야합니다.