2013-05-16 26 views
0

我有一個有趣的問題。 我有兩個屏幕,我需要這將是第三個屏幕元素(按鈕,標籤)是靜態的,不會改變,當你從一個屏幕移動到另一個。 。 所以MAIN DISPLAY 1將會改變,DISPLAY 2也會改變,但是按鈕和其他的(例如標籤)需要是靜態的。如何在Xcode中的任何視圖控制器上進行靜態視圖?

非常感謝您的幫助,對不起,我沒有任何關於此問題的代碼。因爲我不知道這是如何使...

+0

我不能在這裏看到的問題,令人失望對不起你,這個問題(這不是一個問題)是不是很有趣,你有xib/storiboard文件,你可以在其中添加你的'靜態'視圖。 – danypata

+0

我知道,但這是如何做到的?如果您不想顯示代碼,請告訴我在哪個方向我應該尋找答案/謝謝。 –

回答

0

好了,如果你有不會改變UI是你必須要考慮以下內容:

如果用戶能夠從一個屏幕導航到另一個,那麼你將不得不創建多個視圖控制器(它可以用其他方式完成,但是這是最簡單也是最好的方法),它將擁有自己的用戶界面,可以很容易地在故事板中創建,例如:

創建一個使用故事板的新項目(可以使用支持您需求的Xcode模板)

在您生成的故事板中,拖放一個新的UINavigation控制器,並在Attributes inspector檢查Is initial view controller enter image description here

將另一UIViewController的進入你的故事板,選擇您的導航控制器,按住右鍵點擊並拖動到新添加的視圖控制器,彈出框將出現,並從彈出選擇root view controller。現在,新添加的視圖控制器將成爲應用程序將顯示的第一個視圖。在這個視圖控制器添加你的UI元素(按鈕,標籤等)。如果您希望在用戶點擊按鈕時顯示另一個屏幕,請拖動另一個視圖控制器並選擇要從中顯示下一個屏幕的按鈕,按住右鍵拖動到新添加的視圖控制器,從彈出框中選擇push 。現在,當用戶點擊按鈕時,將顯示下一個視圖控制器,並且作爲獎勵,因爲您使用iOS,系統將創建一個後退按鈕,以便您可以返回到您的第一個視圖控制器。

好吧,這是一個基本教程,您可以從中開始和擴展,但爲此您必須閱讀更多內容,在Google/SO上花費夜間才能找到解決方案,您將瞭解蘋果文檔以及其他內容這是必需的,以便您可以成爲一名出色的iOS開發人員。

我的iOS力量與你和史蒂夫喬布斯一起關注你的步驟。

+0

O這是個好主意,謝謝,所以我用:導航控制器 - 標籤欄控制器 - 和任何視圖控制器。但是,例如,我想要一個帶有標籤欄控制器的視圖,但是沒有導航欄,它是如何製作的?我想爲你投票,但我只有10個聲望,對不起。 –

+0

沒關係,您可以將其標記爲已接受,如果對您沒有問題,或不是;) – danypata

+0

接受!您知道如何讓某些UiView在應用程序啓動時顯示在任何視圖上,而無需導航控制器。 –

0

這是關閉我的頭頂上: 你可以把你的uiwindow視圖,並將您的靜態元素放置在那裏,然後給透明背景display1和顯示2。那麼你可以讓兩個顯示器將他們的觸摸轉發到背景元素,以便對按鈕進行操作。對不起,我沒有任何代碼,但我從來沒有嘗試過;)

-1

您應該將靜態視圖添加到您的UINavigationController或任何用於管理多個控制器的控制器。

0

一個更好的方法是實例您的ViewController像這樣:

this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 
您的實例化視圖控制器在安裝內部

然後保存該視圖控制器的實例的靜態變量:

public static StaticViewController staticViewController; 

當靜態視圖控制器第一次啓動時:

staticViewController = this; 

現在,在您啓動靜態視圖控制器(從您應用程序中的任何位置啓動)時,您可以檢查StaticViewController.staticViewController變量是否爲null。

使用簡單的if else邏輯,因此加載它:

if (StaticViewController.staticViewController == null) { 
       StaticViewController.staticViewController staticViewController = this.Storyboard.InstantiateViewController ("StaticViewController") as StaticViewController; 
       this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 
      } else { 
       if(!StaticViewController.staticViewController.IsBeingPresented) //safeguard against click happy users 
        this.NavigationController.PresentModalViewController (StaticViewController.staticViewController, true); 
      } 
相關問題