2013-09-25 58 views
7

Tôi đang cố thêm bộ điều khiển chia nhỏ làm bộ điều khiển xem con. bộ điều khiển xem cha mẹ là bộ điều khiển điều hướng. thanh điều hướng bị ẩn cho bộ điều khiển chế độ xem gốc và tôi muốn hiển thị thanh trạng thái làm chuẩn iOS 6. Tôi đã thêm bộ điều khiển splitview như điều khiển xem con như tôi muốn đẩy đến một bộ điều khiển xem từ bộ điều khiển splitview.Thanh trạng thái UISplitViewController iOS7

Vấn đề tôi đang gặp phải là khi tôi thêm bộ điều khiển splitview, thanh trạng thái chồng chéo lên nội dung. setting edgesForExtendedLayout thành UIRectEdgeNone cho chế độ xem master, detailview, parentview, splitview dường như không hoạt động.

Vui lòng cho tôi biết giải pháp tôi có thể áp dụng để ngăn nội dung chồng chéo từ thanh trạng thái và hiển thị thanh trạng thái theo tiêu chuẩn ios 6.

Tôi đã thử làm điều đó với MGSplitViewController, nhưng đang đối mặt với cùng một vấn đề.

Cảm ơn.

+0

Có cùng vấn đề. Tò mò là tốt. Có vẻ như các kỹ thuật do Apple đề xuất không hoạt động với SplitViewController. Ví dụ: https://developer.apple.com/library/ios/qa/qa1797/_index.html –

+0

Bạn đã tìm ra điều này chưa? Tôi cũng có cùng một vấn đề với UISplitViewController, và giống như bạn tôi đã cố gắng thiết lập các edgeForExtendedLayout cho tất cả các bộ điều khiển xem có thể không có avail. Cảm ơn. –

Trả lời

0

Khi bạn nói:

Tôi cố gắng để thêm điều khiển xem chia như xem con điều khiển.

Bạn có nghĩa là đặt UISplitViewController là rootViewController không? Nếu không thì đó có thể là lý do tại sao nó hành động kỳ lạ.

Tuy nhiên UISplitViewControllers không được thiết kế để làm việc theo cách này, xem câu trả lời này https://stackoverflow.com/a/2642701/383603

Tôi sẽ sử dụng bộ điều khiển xem container để tạo ra một bộ điều khiển tùy chỉnh chia xem: https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html

tải các liên kết tốt ở đây: Container View Controller Examples

Rõ ràng là hơi khó chịu khi phải tạo lại nhưng ít nhất bạn có toàn quyền kiểm soát hành vi của nó.

0

Tôi nghĩ bạn phải sử dụng bộ điều khiển chế độ xem cha mẹ và con với trình điều khiển điều hướng đã bật có thể giúp bạn. Nếu không, hãy thử điều này tutorial. Điều này giúp tôi rất nhiều, tôi hy vọng nó cũng có thể giúp bạn.

1

Tôi có cùng một vấn đề chính xác và có thể giải quyết vấn đề này. Tôi có một UITabBarController tại gốc với một UISplitViewController khác nhau trên mỗi hai tab đầu tiên. Đối với một số chế độ xem Chi tiết của tôi, tôi đã xem nó chồng chéo với cả thanh điều hướng ở trên cùng và thanh tab ở dưới cùng.

Tôi đã cố gắng thiết lập edgesForExtendedLayout cũng như không thành công lúc đầu, nhưng hóa ra bạn cần đặt sớm nhất có thể để nó có hiệu lực. Bạn đã không chỉ định trong câu hỏi của bạn nơi chính xác bạn đã thiết lập tài sản của bạn, vì vậy tôi hy vọng điều này cũng sẽ giúp bạn: thiết lập edgesForExtendedLayout thành UIRectEdgeNone trong -viewDidLoad của UIViewController của bạn.

Đây là mã mà cố định nó cho tôi, trong khi nỗ lực trước đây để làm điều này trong -viewWillLayoutSubviews không có hiệu lực ở tất cả:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Prevent detail screen from sitting underneath navigation bar and tab bar: 
    self.edgesForExtendedLayout = UIRectEdgeNone; 
} 

Hope this helps ...

Erik

Các vấn đề liên quan