2013-09-06 4 views
2

다음 문제를 이해하려고합니다.Subview 크기 조정 Superview 프레임

나는 그런보기 작성 : 이후

UIView *subNavigation = [[UIView alloc] initWithFrame:CGRectMake(0.0 0.0, 0.0, 70.0)]; 

내가 그 subNavigation보기에 버튼을 추가하기 위해 루프를 통해 실행 해요을하지만 지금 당장 버튼을 표시하지 않습니다

for (int i = 0; i < 5; i++) { 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    button.frame = CGRectMake(leftOrigin, 0.0, 145.8, MENU_BUTTON_HEIGHT); 
    leftOrigin += 145.8; 

    [button setBackgroundColor:[UIColor whiteColor]]; 
    [button setTitle:@"Button Content" forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted]; 

    [button setTag:i]; 

    [subNavigation addSubview:button]; 

} 

그래서 subNavigation은 너비 0.0으로 생성되었습니다. 하위 탐색을 추가 할 때 단추를보고 싶지 않지만 그렇습니다. 모든 하위보기를 슈퍼 뷰의 프레임 너비/높이에 맞게 조정하려면 어떻게해야합니까?

도움 주셔서 감사합니다.

답변

3

만약 당신의 유일한 의도가 서브 뷰를 숨기고 싶다면, 슈퍼 뷰의 프레임을 뒤적 거리지 않을 것입니다. 대신 [subNavigation setHidden:YES];을 사용하는 것이 좋습니다. 이렇게하면 하위보기도 숨겨집니다.

그러나이 접근법을 고집하지 않으면 @rokjarc이 자신의 의견에서 말한대로 superview의 경계에서 작업하는 것이 좋습니다. subNavigation의 하위 뷰를 클리핑해야합니다.

[subNavigation setClipsToBounds:YES]; 
+0

감사합니다 !! setClipsToBounds가 모두 필요했습니다! – MrBr

관련 문제