2013-07-26 1 views
-1

: 내 XIB 파일이 이미 UIView, 엑스 코드 로그 전용 "lldb"을 포함하지만, 그 어느 때 여기 이미 UIView가있는 하위 뷰를 추가하려면 어떻게해야합니까? 그것으로 펜촉을로드 그때 뷰를 만들 수있는 다음을 사용하여

CGRect newViewRect = CGRectMake(0, self.view.bounds.size.width - 335, 335, 400); 
UIView *newView = [[UIView alloc] initWithFrame:newViewRect]; 
newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

문제이다의 말을하자 xib 파일에서 UIView을 삭제하고 다른 개체를 추가하면 완벽하게 정상적으로 표시됩니다.

하지만 내부에 모든 내용이 모두 포함되도록 UIView을로드하고 싶습니다. UIView으로 펜촉을로드하는 방법을 선호합니다.

도움 주셔서 감사합니다.

답변

0

당신이

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

이 코드

는 nib 파일의 내용으로 당신의 UIView 변수 "newView"를 다시 사용하는 경우. 따라서이 코드 범위 이전에 UIVew 변수를 만드는 것은 무의미합니다.

보기가 합성 된 경우. 사용자 정의 클래스로 UIView를 하위 클래스로 만든 다음 각 컴포지트에 대해 IBOutlet을 추가 한 다음 이러한 컴포지트로 xib를 만들고 IBoutlets에 linq를 작성합니다. 위와 같이 xib를로드하십시오.

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

또는 서브 클래 싱없이 복합체에 액세스하려면 subView 태그 만 사용할 수 있습니다. 각보기에 대한 xib set 태그를 입력 한 다음 [view viewWithTag : tag]를 사용하여 액세스 할 수 있습니다.

관련 문제