我開發的iPad應用,我需要創建一個UIView
,就是始終在頂部對於其他意見。UIView的側邊欄總在最前面
A爲面積(認爲它作爲一種工具條),我需要建立一個UIViewController
其觀點始終保持在最前面。 B代替UIViewController
(以其視圖)可以改變的內容區域:取決於幾個按鈕操作(在A的視圖內),可以移除當前可見內容(在這種情況下爲控制器B及其視圖)並顯示其他控制器(C,D,E等)和他們的觀點。
我創造了我的應用程序的所有元素,但我有問題,維持A的上俯視圖,並在同一時間,實現用於dinamcally更改內容區域的邏輯。作爲要求,我需要A始終與B重疊。換句話說,B(左側部分)的一部分總是在A的區域下.B總是延伸整個設備屏幕。
你能給我一些建議嗎?
我做了兩個配置,但我遇到了問題。
第一配置
在第一個,我創建對於A的UIViewController
(稱爲SideBarController
)。我添加了SideBarController
查看到UIWindow
(在應用程序委託內)。然後,我爲B創建了一個UIViewController
(稱爲HomeViewController
),並將其添加爲我的應用程序的rootViewController
。
這種解決方案可能是一個有效的,因爲我可以通過我的應用程序委託dinamically更改內容區域(設置新的rootViewController
),但SideBarController
當前visble視圖下始終保持。
其次配置
在第二個,我創建了一個UIViewController
(稱爲MainViewController
),我增加一條,作爲一個rootViewController
我的應用程序。然後內MainViewController
我創建對於A的UIViewController
(稱爲SideBarController
)和I加入SideBarController
視圖MainViewController
。然後填充內容區域,爲B創建一個UIViewController
(稱爲HomeViewController
)並將其添加到MainViewController
。
側邊欄始終保持在最前面,但我有困難的內MainViewController
動態改變內容區域。如何訪問內容區域並更改它?
注意我知道關於UIKit上的標準組件,但我需要實現這樣的解決方案,因爲用戶規範。
謝謝您的答覆。你能否給我提供第二種解決方案的建議?如何將側邊欄放入另一個「UIWindow」?我認爲第一個可能很複雜。謝謝。 – 2012-01-11 14:04:32
謝謝。我不知道如何遵循。也許'UIPopoverController'可能是正確的。在我看來,這個問題可能是不可能定製這個控制器的外觀。例如,在iOS 4中,無法自定義邊框。我不知道iOS 5定製是否發生了變化。您是否有任何代碼可以分享您過去使用的解決方案?謝謝。 – 2012-01-11 19:04:34
你是對的。我在談論的部分是在iOS 5('popoverBackgroundViewClass')中添加的。這給你留下了一個附加到頂層的窗口或視圖。我會在'[[[view window] rootViewController]視圖]中添加一個'UIView',看看它是否適合你。如果不是,直接將它添加到'[查看窗口]'。 – 2012-01-11 20:26:19