2012-02-20 20 views
8

Tôi gặp sự cố khi đẩy DialogViewController vào ứng dụng toàn cầu UINavigationController của mình, rằng nó sẽ mất các nút quay lại.DialogViewController ngắt Đường dẫn UINavigationController

tôi đã có thể đun sôi nó xuống để ví dụ đơn giản này:

var nav = new UINavigationController(); 
window.RootViewController = nav; 

nav.PushViewController(new UIViewController() { Title = "#1"}, true); 
nav.PushViewController(new DialogViewController(new RootElement("#2")), true); 
nav.PushViewController(new UIViewController() { Title = "#3"}, true); 

Bạn có thể nhận #3-#2, nhưng không #2-#1.

Tôi có làm gì sai với số DialogViewController không? Tôi mặc dù họ có thể làm việc như là một thay thế thả cho UIViewController.

Trả lời

12

Đơn giản chỉ cần sử dụng:

nav.PushViewController(new DialogViewController(new RootElement("#2"), true), true); 

ví dụ: thêm true cho các nhà xây dựng DialogViewControler.

+0

Điều đó thật khó khăn. Nhưng tôi giả sử có những lý do tốt đằng sau đi lạc khỏi hành vi mặc định của UIViewController. – Timm

+0

Điều này đã làm tôi bối rối một thời gian. Tôi rất thích biết cách bạn phát hiện ra điều đó ... –

+1

@ChristianPayne Tôi không nhớ chính xác cách tôi phát hiện ra điều đó - nhưng có khả năng là đọc mã nguồn của MT.D, có sẵn trên https: // github .com/migueldeicaza/MonoTouch.Dialog – poupou

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