7

Tôi đang thiết một chồng mới của ViewControllers để navigationController của tôi bằng cách làm như sau:chuyển Phong cách khi sử dụng setViewControllers: hoạt hình: trên UINavigationController

MainMenuViewController *mainMenuViewController = [[MainMenuViewController alloc] init]; 
NSArray *controllerArray = [NSArray arrayWithObject:mainMenuViewController]; 
[mainMenuViewController release]; 
[self.navController setViewControllers:controllerArray animated:YES]; 

Vấn đề duy nhất là tôi dường như không thể thiết lập chuyển tiếp Phong cách. Lý tưởng nhất là tôi muốn nó lật. Điều này có thể không? Điều quan trọng là tôi sử dụng setViewControllers: hoạt hình thay vì currentModalViewController vì tôi chuyển đổi qua lại giữa các ngăn xếp và muốn duy trì các hành vi điều khiển điều hướng cho từng ngăn xếp.

Trả lời

0

Thay vì trao đổi toàn bộ ngăn xếp điều hướng, tại sao không chỉ duy trì hai bộ điều khiển điều hướng và tạo hiệu ứng chuyển tiếp giữa chúng? Có vẻ sạch hơn với tôi.

CẬP NHẬT

Tôi đoán tôi có thể hỗ trợ tốt hơn nếu tôi biết những gì bạn đang cố gắng để đạt được, nhưng tôi biết rằng bạn có thể trình bày một modally khiển nav thứ hai từ một đầu tiên, và bạn có thể đẩy một loạt các các khung nhìn vào nó trước/sau khi trình bày, vv Ngoài ra, thay thế ra ngoài của một bộ điều khiển khung nhìn hiện có, đặc biệt nếu nó sâu, có thể gây nhầm lẫn cho người dùng, chưa kể đến nhóm đánh giá của Apple. Duy trì hai bộ điều khiển nav trong bộ nhớ không nhất thiết là một vấn đề lớn, miễn là bạn bộ nhớ (bạn có thể làm), và miễn là người dùng thực sự nhận được lợi ích.

Có lẽ bạn có thể làm sáng tỏ một số mục đích cấp cao của mình và chúng tôi có thể đi từ đó.

THÊM

Nếu bạn muốn nó để lật, sau đó bạn có thể thiết lập navController2.modalTranstitionStyle = UIModalTransitionStyleFlipHorizontal, mà sẽ gây navController2 để lật trong khi nó được trình bày modally.

SO có một số trục trặc kỳ lạ về thời gian chúng tôi đã nhận xét bên dưới, nó có thể đã mất cập nhật của bạn.

+0

Tôi cũng đang làm một việc tương tự ở đây: http://stackoverflow.com/questions/9570225/how-to-swap-between-2-root-view-controllers dường như không được khuyến khích. Mặc dù ở đó tôi có một bộ điều khiển dẫn hướng mà tôi đã khởi tạo lại một rootViewController mới mỗi lần. Có thực hành tốt để có 2 navControllers sau đó? Bạn không kết thúc với cả hai người trong số họ trong bộ nhớ cùng một lúc? – Smikey

+0

Đã thêm cập nhật – QED

+0

Bạn có thể làm điều đó - Tôi không nghĩ rằng có bộ điều hướng trống hoặc 'ngắn' trên tay sẽ là một thỏa thuận lớn. Bạn cũng có thể thử tạo bộ điều khiển nav thứ hai theo yêu cầu, ngay trước khi bạn trình bày nó. Điều này có thể dẫn đến sự chậm trễ giao diện người dùng nhỏ hoặc không. Bạn sẽ phải kiểm tra để xem những gì hoạt động tốt. – QED