2012-07-01 4 views
0

특정 사용자 작업을 수행 할 때 반투명 UIViewController에 다른 UIView를 추가하고 싶습니다. 즉,로드 할 때 뒤에있는 UIViewController보기가 백그라운드에서 계속 볼 수 있으며 새 UIView가 위에있는 레이어로 표시됩니다.반투명 UIView를 UIViewController에 추가하는 방법

"반투명"UIView에는 이미지와 단추가 여러 개 있어야하므로이를 제어 할 수 있도록 별개의 h, m 및 xib 파일을 만드는 것이 더 좋습니다.

어떻게해야합니까?

답변

2
  1. 서브 클래스의 UIView를, nib 파일
  2. 변경 사용자 정의 서브 클래스 이름
  3. 변경 파일 소유자로 펜촉 클래스를 생성 뷰 컨트롤러에게이 될
  4. 보기 컨트롤러에서 IBOutlet을 사용하여 사용자 정의보기에 대한 @ 속성을 선언하십시오.
  5. 펜촉을 선택하고 파일 소유자에서 사용자 정의보기 및 뷰를로드 할 준비가되었을 때, 당신의 버튼 동작에서 출구
  6. 연결이 완료되면

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:self options:nil];

를 사용, 사용자 정의가 펜촉에서로드되고 귀하가 신고 한 재산에 배정됩니다.

+0

감사합니다. 질문 : 첫 번째 뷰에서 transparentView를 호출 할 때 - loadNibNamed 전에 수행해야 할 다른 작업이 있습니까? "alloc", "initWithFrame"등 ... –

+0

'loadNibNamed'를 실행하면'initWithCoder' 메소드로 "alloc'd/init'd"가됩니다. 프레임은 nib 파일에서 지정한 크기로 설정됩니다. init 동안 어떤 변수를 설정해야한다면, 사용자 정의 뷰 클래스에서'initWithCoder'를 오버라이드 할 수 있습니다. – Rog

4

이 시도 :

UIView *view = [[UIView alloc] init]; 
[view setAlpha:0.5]; 
[mainview addSubview:view] 
관련 문제