簡體   English   中英

自定義iPhone應用程序選項卡欄

[英]Custom iPhone App Tab Bar

好吧,這似乎很簡單,但是我沒有找到太多與此相關的文檔或帖子。 基本上,我想在我的應用程序底部有一個完全自定義的標簽欄。 作為iPhone開發人員的新手,我認為我可以執行以下操作:

  1. 將自定義圖像放在屏幕底部以用作選項卡按鈕。
  2. 創建一個UIView(將其稱為“ ContentView”)來填充屏幕的其余部分,以顯示相應選項卡的NIB。 該“ ContentView”位於NIB的主UIView中。
  3. 將圖像“按下”動作掛接到管理所有這些的控制器上。

我不確定如何通過這種方法將適當的NIB加載到“ ContentView”中。 通過控制器中的“ Touch Up”操作方法,我可以將NIB動態加載到該“ ContentView” UIView中嗎?

關於這件事的某些事情使我感到不安。
有沒有更好的辦法?

為了解決您的問題,我將創建一個帶有UIView及其相關內容的筆尖。 將筆尖連接到UIViewController。 這將是每個選項卡的內容。 根據需要創建任意多個UIView-UIViewController組合。

當用戶觸摸選項卡時,使用以下命令從筆尖創建並加載UIViewController

– initWithNibName:bundle:

將筆尖中的UIView作為子視圖添加到主內容視圖中。 采用

– addSubview:

當用戶按下其他選項卡時,會將其他筆尖加載到內存中,並將其UIView作為子視圖添加到主內容視圖中。

如果視圖已經在內存中,則可以使用以下方法顯示和隱藏子視圖。

– bringSubviewToFront:
– sendSubviewToBack:

我認為那行得通。

您可以通過以下方式解決此問題:

或者使用相同的選項卡欄圖像和自定義按鈕制作不同的視圖(在IBAction上加載視圖以進行按鈕單擊:在內部向上拖動),或者您可以為同一視圖制作不同的視圖(因此您可以隱藏視圖並相應地一次僅顯示一個視圖) )。

並且您可以加載視圖(如果您的應用基於視圖,則在窗口上添加其他視圖,否則,對於基於導航的應用,您需要按下導航控制器的pushViewController。

這是一項棘手的任務,但是您需要處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM