2013-08-04 27 views
5

Tôi đang cố gắng chuyển đổi ứng dụng của mình thành hỗ trợ phổ cập cho iPad và bất kỳ điều gì tôi làm loại bỏ bộ điều khiển Splitview được mong đợi có một bộ điều khiển xem ở chỉ mục 0 trước khi nó được sử dụng! " lỗi ngay sau các sao ứng dụng.Không thể loại bỏ "Bộ điều khiển Splitview được mong đợi có bộ điều khiển xem tại chỉ số 0 trước khi nó được sử dụng" lỗi trong iOS6

Tôi đang sử dụng iOS6 làm mục tiêu, XCode 4.6.3. Đã thử tất cả những thứ mà tôi có thể tìm thấy trên trang web này và Google, đã không giúp tôi chút nào.

Tôi muốn thêm bộ điều khiển TabBar làm bộ điều khiển chính (bộ điều khiển tách bên trái) và một số bộ điều khiển khác làm bộ điều khiển chi tiết. Đây là mã hiện tại của tôi trong AppDelegate.m:

tabController = [[UITabBarController alloc] init]; 
[tabController setViewControllers:[NSArray arrayWithObjects:navAddVC, nav, svcNav, stvcNav, nil]]; 
FirstDetailViewController *fdvc = [[FirstDetailViewController alloc]; 
initWithNibName:@"FirstDetailViewController" bundle:nil]; 
UINavigationController *fdvcNav = [[UINavigationController alloc] initWithRootViewController:fdvc]; 
viewControllers = [[NSArray alloc] initWithObjects:tabController, fdvcNav, nil]; 
UISplitViewController *splitvc = [[UISplitViewController alloc] initWithNibName:nil bundle:nil]; 
[[splitvc view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"splitViewControllerBG"]]]; 
[splitvc setViewControllers:viewControllers]; 
[splitvc setDelegate:fdvc]; 
[[self window] setRootViewController:splitvc]; 
[[self window] makeKeyAndVisible]; 

Tôi rất cảm ơn sự giúp đỡ, cảm ơn.

+7

Bạn đã thử đặt 'viewControllers' trước khi tải chế độ xem để đặt màu nền? – Wain

+0

@Wain Cảm ơn bạn! Điều đó là vậy đó. Tôi ngu ngốc, không chú ý đến chi tiết này. – titicaca

+0

@Wain Cảm ơn, cảnh báo này không được hiển thị trước đây. Đừng lý do tại sao nó xuất hiện đột ngột – Bejil

Trả lời

10

Nhờ @Wain tôi đã giải quyết nó.

Điều là bằng cách thiết lập hình nền cho vc chia của tôi, tôi đang tải chế độ xem của nó. Vì vậy, giải pháp là đặt mảng viewControllers trước màu nền thiết lập.

+1

Điều này cũng áp dụng cho việc thiết lập các thuộc tính khác của UISplitViewController như 'setPreferredDisplayMode'. Chỉ cần cấu hình chúng sau khi thiết lập các VC. – fbeeper