2012-04-11 8 views
10

Ứng dụng của tôi hoạt động hoàn hảo trước iOS 5.1. Đó là một UISplitviewController với một UINavigationController trong ngăn bên tay trái và cập nhật ngăn chi tiết phụ thuộc vào các lựa chọn được thực hiện trong đó UINavigationController.UISplitViewController iOS 5.1 khiến lỗi hướng mũi tên bật lên

Tính năng trượt mới từ thay thế trái cho cửa sổ bật lên, đặc trưng cho iOS 5.1 hoạt động; nó không đẹp, nhưng nó hoạt động.

Điều gì dường như bị hỏng là hiển thị 'cửa sổ bật lên' từ nút thanh theo chiều dọc. Nó gây ra một ngoại lệ - 'NSInternalInconsistencyException', reason: 'Unknown direction passed to _popoverViewSizeForContentSize:arrowDirection:'

Tôi đã cố gắng để ghi đè lên các phương pháp đó sẽ hiển thị popover như sau:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController { [self.popoverController presentPopoverFromBarButtonItem:self.masterPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }

Nhưng tôi vẫn nhận được lỗi tương tự. Có ai giúp được không?

Trả lời

0

Sử dụng các đại biểu bên dưới để hiển thị trang chủ từ trang chi tiết

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController: 

    (UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
    { 
     barButtonItem.title = NSLocalizedString(@"Master", @"Master"); 
     [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
     self.masterPopoverController = popoverController; 
    } 

    - (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem 
    { 
     // Called when the view is shown again in the split view, invalidating the button and popover controller. 
     [self.navigationItem setLeftBarButtonItem:nil animated:YES]; 
     self.masterPopoverController = nil; 
    }