2012-08-10 8 views
1

다시 정렬하려는 두 개의보기가 관련이 없을 때 표시되는보기의 순서를 변경하려면 어떻게합니까?관련되지 않은보기의 z 순서 변경

다른 사람의 코드에서 작업하려고하는데 UITableViewController의 하위 클래스 인 클래스가 있습니다. 배경을 넣으 려하므로 self.view의 하위보기로 넣습니다.

문제는 테이블 앞에 표시되며 테이블은 self.view.tableView가 아닌 ​​self.tableView에 있습니다. 두 뷰가 함께 사용되지 않기 때문에 sendSubviewToBack 메서드를 사용할 수 없습니다.

self는 내가 수행하고있는 viewController 클래스입니다.

아이디어가 있으십니까?

UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"editInfoBG.png"]]; 
background.frame = CGRectMake(0, 0, 320, 416); 
[self.view addSubview:background]; 

// Doesn't work, the table is not a subview of self.view 
[self.view sendSubviewToBack:background]; 
+0

귀하의 질문에 동의하는 것을 잊지 마십시오 – tikhop

답변

1

같은 tabeview 전에 배경을 삽입하고 UITableViewDataSource을 구현 할 수 있습니다 UITableViewController 대신 UITableViewDelegate 프로토콜을 사용해야합니다.

+1

감사합니다. 프로그램을 만든 사람에게 속한 것을 제거하고 싶지 않았습니다. 실제로 내가 뭘하는지 알지만, 같은 데이터 소스를 가진 새 테이블을 만들어서 이전 테이블과 같이 위임하고 결국 효과가있었습니다 (원래 테이블이 배경 이미지 뒤에 숨어 있음). 새 테이블을 self.view의 하위 뷰로 추가 한 다음 배경과 함께 주문할 수있었습니다. – Mirror318

0

당신은 당신이 당신의 ViewController에 하위 뷰를 추가하려면 수동 서브 뷰로 UITableView을 추가로 UIViewController의 서브 클래스를 사용한다,이

[self.view insertSubview:background belowSubview:self.tableView.view];

+0

정말 당신의 접근 방법을 시도 했습니까? 물론 – tikhop

+0

도 시도해 볼 수 있습니다 :) – touti

+0

self.tableView 란? UITableView 또는 UITableViewController – tikhop