2014-03-13 2 views
1

많이 시도해 보았습니다. 하위보기로 추가 된 단추는 수퍼 뷰의 프레임이 작을 때 볼 수 없습니다. 프레임이 작을 때 나타나기를 원하지 않습니다.하위보기로 추가 된 UIButton이 UIView에서 벗어났습니다.

UIView *vw = [[UIView alloc] initWithFrame:CGRectMake(20 , 100, 200, 30)]; 
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem]; 
    [btn setTitle:@"OK" forState:UIControlStateNormal]; 
    [btn setFrame:CGRectMake(20 , 100, 30, 20)]; 
    [vw sendSubviewToBack:btn]; 
    [vw addSubview:btn]; 
    [vw setBackgroundColor:[UIColor redColor]]; 
    [self.view addSubview:vw]; 

이것은 내 코드입니다. 그것은 당신이 잘못했던이

enter image description here

+0

당신은 슈퍼 뷰의 범위를 알고 있습니다. 버튼을 놓는 지 여부에 대한 테스트. –

+0

UIButton의 첫 번째 계층 구조 확인 ... iOS 7의 변경 사항 –

+0

[btn setFrame : CGRectMake (20, 0, 30, 20)]; 확인 – Spynet

답변

1

처럼 보인다. 보시려면 btn을 추가하기 전에 sendSubviewToBack:을 호출하셨습니다. 아래와 같이 다시 작성하십시오.

[vw addSubview:btn];//First 
[self.view addSubview:vw];//second 
[vw sendSubviewToBack:btn];//Third 

슈퍼 뷰 외부에 있으면 표시하지 않으려 고합니다. vw.clipsToBounds = YES

2

UIButton의 프레임을보십시오. 그것의 origin.y는 100px입니다. vw에 추가하려면 0이어야합니다.

관련 문제