2012-02-07 75 views
0

對於我的新應用程序,我計劃使用UINavigationController來推送/彈出其他控制器。關於UINavigationController的想法

這是場景。

應用程序正在運行。通過導航控制器,我推動堆棧中的第一個控制器。用戶進行一些選擇並觸摸按鈕。然後導航控制器推動第二個控制器,等等,而用戶到達最後一個控制器,這是第六個。從第一個到第五個控制器將永遠不會在應用程序中再次使用。

這是正確的方法(使用導航控制器)這種類型的應用程序?

+0

你能否在你的問題中增加更多細節? '控制器不再被使用'是什麼意思?這是一次性的配置嗎?或者某種「初始偏好」的東西?還是每次運行應用程序時都會選擇一個值(但用戶一旦到達第六個控制器就永遠不會返回)? – Ravi 2012-02-07 19:37:54

+0

我的意思是說,一旦他到達第六個控制器,用戶將永遠不會回去。 – objlv 2012-02-07 19:41:01

+1

他們可以在他們到達第六控制器之前回去嗎?如:「一>二>三>回到二>三」? – 2012-02-07 19:44:11

回答

0

如果一旦他們到達第6個viewController,他們將永遠不會回到其他viewController,您可以隨時彈出到rootViewController,然後將第6個viewController打開。那樣那些其他viewControllers不在navigationController堆棧中。

0

這聽起來像你有5個鏈接的屏幕流,然後你的應用程序的其餘部分。

如果是這樣,是的,UINavigationController在這裏可以正常工作。你會推動這5個屏幕,當它完成時,你會摧毀導航控制器,並用你的應用程序的其餘部分替換爲一些視圖。

所以UINavigationController將控制你的應用程序的一部分,但不是你的整個應用程序。

+0

實際上,第五個控制器收集以前控制器的所有數據。第五個控制器中有一個按鈕,用於推動第六個視圖。 如果用戶在第六個視圖中搖動設備,則應再次加載第五個視圖。然後用戶可以更改一些值,並再次加載第六個視圖等。 – objlv 2012-02-07 19:57:01

1

我不完全確定你的意思,但我想你需要步行1到5步,然後當他們在6完成,他們不能回去。那是對的嗎?

我做了類似的事情。我所做的是以模態方式彈出視圖1-6(並從1導航到6)以中斷當前流程,並且一旦用戶完成,該值將傳回到您從(委派)中填充模態視圖的視圖,然後你接下來做任何事情。

不知道如果我回答你的問題。希望能幫助到你。