UINavigationController 내부에로드 된 수많은 UITableView에 대한 배경을 설정하려고합니다. iOS 5에 추가 된 모양 프록시를 사용하고 있지만 예상대로 작동하지 않습니다.iOS5 UIAperearance가 올바르게 작동하지 않는 UITableView 모양?
응용 프로그램은 마스터보기가 UINavigationController 인 UISplitViewController를 사용합니다. 이 내부에는 PBMasterTableViewController라는 UITableViewController 하위 클래스가 있습니다. 나는 다음과 같은 한 내 AppDelegate에에서 : 이것은 잘 작동하고, 분할보기에서 내 메인 메뉴는 내가 원하는 배경을 가지고
UIImageView *bgView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menuBg.png"]] autorelease];
[[UITableView appearanceWhenContainedIn:[PBMasterTableViewController_Ipad class], nil] setBackgroundView:bgView];
.
이 메인 메뉴에서 3 개의 다른 UITableViewController 서브라스가 관련 행을 선택할 때 탐색 컨트롤러에 푸시됩니다. 그러나 외관 프록시를 사용하여이 테이블의 배경을 변경할 수는 없습니다.
UIImageView *bgView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menuBg.png"]] autorelease];
[[UITableView appearanceWhenContainedIn:[PBTwitterTableViewController class], nil] setBackgroundView:bgView];
이 잘 작동 이전에 표시된 코드 아래 (그러나 이미지 뷰 생성의 반복하지 않고) AppDelegate에도 그러나 이것은 단순히 아무것도하지 않는다 : 나는 다음과 같은 노력하고있어! PBTwitterTableViewController의 인스턴스를 nav 컨트롤러에 푸시 할 때 백그라운드 변경이없는 표준 테이블 뷰를 얻습니다.
tableViewController 자체에서 백그라운드 뷰를 변경할 수 있다는 것을 알고 있지만, splitViewControllers popover에서 메뉴가 표시 될 때 이러한 배경을 사용하지 않으려 고하므로 사용하려고합니다. appearanceWhenContainedIn :
또한 UISplitViewController에 포함되어있을 때 모양을 설정하고 싶지 않습니다. 2 개의 인스턴스에서 UITableView가 세부 구역에로드되어 있으므로이 모양이 다음과 같이 변경됩니다. 하고 싶지 않다.
팝업 프록시에있을 때 배경을 변경할 수있는 모양 프록시가 없거나 프록시로이 작업을 수행 할 수있는 방법이없는 다른 방법이 있습니까, 아니면 누락되었습니다. 뭔가 바보 같은가요?
감사
는편집 :
난 그냥 아닌 다른 jQuery과를 들면, UINavigationController가의 서브 클래스를 만드는 시도하고 다시 메인 메뉴에 대해 잘 작동 [[UITableView appearanceWhenContainedIn:[PBMenuNavigationController class], nil] setBackgroundView:bgView];
를 사용하여 시도했다가 스택으로 푸시 그래서 지금은 정말 곤란하다. (