2010-08-13 36 views
13

vẫn không thể hiểu được những gì tôi đang làm sai. Chỉ cần cố gắng để có được một cái nhìn phương thức với một bộ điều khiển chuyển hướng bên trong.Chế độ xem phương thức với Bộ điều khiển điều hướng

Đây là dự án của tôi http://www.matthewpateman.com/New.zip

Ai có thể cho tôi biết những gì tôi đang làm sai? Tôi muốn "ShopModalView.xib" để bật lên trong bộ điều khiển chuyển hướng, nhưng nó chỉ cho hiển thị một trang trống ...

+1

Hãy viết ý kiến ​​hoặc cập nhật câu hỏi trước đó của bạn thay vì chỉ đơn giản là đăng thông báo khác. – Justin

+0

Bạn nói đúng. Xin lỗi ... –

+6

cũng không ai muốn tải xuống một mã zip độc hại tiềm ẩn. sử dụng http://gist.github.com/ hoặc friendpaste hoặc một cái gì đó để hiển thị mã thích hợp –

Trả lời

44

hiện nó như là một cái nhìn phương thức và quấn bộ điều khiển trong một bộ điều khiển chuyển hướng để cung cấp một thanh điều hướng ở trường hợp bạn muốn thêm chỉnh sửa, lưu, vv nút

ModalViewController *modalController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
modalController.delegate = self; // Set any delegate you may have 

// This is where you wrap the view up nicely in a navigation controller 
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalController]; 

// You can even set the style of stuff before you show it 
navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 

// And now you want to present the view in a modal fashion 
[self presentModalViewController:navigationController animated:YES completion:nil]; 
+0

wow! Cảm ơn bạn đã giúp đỡ! Nó rất hữu ích. Thực sự đánh giá cao việc bạn dành thời gian sửa chữa nó. Như bạn đã nói! Công trình tuyệt vời - đẹp và đơn giản. –

+1

Không phải là một prob, nhưng chắc chắn rằng bạn có một vài bài học kinh nghiệm: Bạn đang thiếu tập tin XIB trong XCode cho một số bộ điều khiển xem của bạn, bạn đã thiếu một MainWindow.xib đó là lý do tại sao bạn nhận được một lỗi 'NSInternalInconsistencyException' (nó có không có gì để tải trong 'applicationDidFinishLaunching' và không có cách nào để thiết lập bộ điều hướng nav ban đầu). Bạn cũng đang ẩn thanh điều khiển điều hướng hiển thị khi chế độ xem của bạn xuất hiện. Giữ cho XIB của bạn được đặt tên giống như lớp điều khiển khung nhìn xử lý chúng ... đó là một điều ít nhớ. – iwasrobbed

+0

Bạn có thể muốn tạo một dự án ví dụ hoàn toàn mới và tự mình thiết lập ngay bây giờ khi bạn có thứ gì đó để làm việc. XCode thực sự có một mẫu điều khiển điều hướng để làm việc nếu bạn biết từ đầu bạn sẽ sử dụng một (XCode -> Dự án mới -> Ứng dụng hệ điều hành iPhone -> Điều hướng ứng dụng -> bỏ chọn "Sử dụng dữ liệu cốt lõi để lưu trữ") – iwasrobbed

3
ShopModalViewController *shopMVC = [[ShopModalViewController alloc] initWithNibName:@"ShopModalViewController" bundle:nil]; 
//set properties 
UINavigationContrller *navCon = [[UINavigationController alloc] initWithRootViewController:shopMVC]; 
[self presentModalViewController:navCon animated:YES]; 
[shopMVC release]; 
[navCon release]; 
+0

Tôi đã sử dụng mã của bạn nhưng nó cung cấp cho tôi thông báo lỗi này: 2010-08-13 19: 55: 54.718 Nav [95599: 207] *** Chấm dứt ứng dụng do ngoại lệ chưa được nắm bắt 'NSInternalInconsistencyException', lý do : 'Không thể tải NIB trong gói: –

2

Đối với những người muốn làm điều này trong 3.x Swift:

// Obtain your viewcontroller 
let viewController = ... 

// Initialize a navigation controller, with your view controller as its root 
let navigationController = UINavigationController(rootViewController: viewController) 
navigationController.navigationBar.barStyle = .blackTranslucent 

// Present it modally from the current controller 
present(navigationController, animated: true, completion: nil) 
+0

Cảm ơn, nó hoạt động cho những gì tôi đang tìm kiếm. – Hoan

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