簡體   English   中英

Storyboards 和 Interface Builder 之間的關系是什么?

[英]What is the relationship between Storyboards and the Interface Builder?

我剛開始學習 XCode、objective-c、iOS 等等。 這是我第一次涉足應用程序開發。 我不是開發新手,只是 iOS 開發和 XCode。

因此,我正在學習 Udemy 課程,該課程讓我使用情節提要,我有些擔心,因為我認識的每個專業 iOS 開發人員都使用一種稱為 Interface Builder 的東西,這顯然消除了對情節提要的需要。

我才剛剛開始,所以對於 storyboard 到底是什么,我仍然只有一個粗略的概念……它似乎只是單個頁面視圖的圖形表示。 我不知道它與這個所謂的Interface Builder有什么關系,它們之間的關系是什么。

通過使用故事板學習本課程,我是否走錯了路? 或者這是過渡到 Interface Builder 之前有用的開始步驟嗎? 使用故事板會幫助我以后處理它嗎? 我在浪費時間嗎?

Interface Builder是Xcode的一部分,可讓您查看和編輯情節提要和.xib文件(單擊此類文件時它會自動打開)。

.xib(或“ nib”)文件表示應用程序中的單個邏輯視圖(在iOS上,通常是具有多個視圖的UIViewController ,例如UIScrollViewUINavigationBar )。

故事板是這些視圖的集合,並且可以用於建立從視圖到其他視圖的過渡。

我建議閱讀故事板上的Apple文檔 ,以了解它們可以為您做什么。

...
Interface Builder顯然消除了對故事板的需求。
...

實際上, 情節提要是Interface Builder中的一個概念。
它是整個應用程序流程的直觀表示。

我認為您所需要的只是快速閱讀Apple Interface Builder文檔
在基本的理解上,IB是一個拖放區域,以可視方式創建您的視圖。

報價:

您可以在Interface Builder中創建應用程序的用戶界面。 在項目導航器中選擇一個用戶界面文件,然后在工作區窗口的編輯器區域的Interface Builder中打開該文件的內容。 用戶界面文件的文件擴展名為.storyboard或.xib。

邏輯示例:無需以編程方式編碼UIButton並設置其框架或約束,而是轉到Interface Builder,選擇一個UIButton對象,然后將其放置在想要的位置。 您還將指定對象名稱及其響應的方法。 但這將需要在與視圖關聯的相應類的.m或.h文件中定義對象名稱和方法名稱


Interface Builder可以是XIB / nib或Storyboard。 后一種方法是Apple提供的最新方法( 推薦方法)。

使用情節.storyboard ,您只有一個文件,即.storyboard文件,它將代表整個應用程序流程。
一個應用程序可以具有多個屏幕/視圖,因此一個故事板將基本上代表多個UIViewController ,每個UIViewController都將綁定到一個特定的類。

例如,在此故事板中,您可以直觀地看到( 從此處開始的假設 )整個應用中有5個屏幕:

  1. 屏幕1可能以UINavigationController開頭
  2. 屏幕2是此UINavigationController的根視圖,例如LoginVC (綁定到LoginVC.mLoginVC.h
    • LoginVC上的一個按鈕將帶您進入SignUpVC (與SignUpVC.mSignUpVC.h
    • LoginVC上的另一個按鈕將帶您進入ProfileVC (與ProfileVC.mProfileVC.h
  3. 屏幕3是SignUpVC
    • 單擊一個按鈕即可回到LoginVC
  4. 屏幕4是ProfileVC
    • 單擊一個按鈕即可轉到SettingsVC (與SettingsVC.mSettingsVC.h綁定)
    • 一個按鈕將您注銷,帶您回到LoginVC
  5. 屏幕5是SettingsVC

Q.

通過使用情節提要學習本課程,我是否走錯了軌道?

一種。
不,絕對不是。 您朝着正確的方向前進。
但是,我認為了解以前的XIB / nib方法也值得您花時間。
另外,強烈建議以編程方式創建UIView


Q.

...這是過渡到Interface Builder之前有用的開始步驟嗎?

一種。
它已經使您熟悉Interface Builder,因此實際上並不需要太多的“轉換”。


Q.

使用情節提要板可以幫助我以后使用它嗎? 我在浪費時間嗎?

一種。
是的,除非您在版本控制下的團隊中工作,在這種情況下,XIB仍然看起來不錯。


那么什么是XIB?

它仍然在Interface Builder范圍內...
將情節提要分解為單獨的視圖,您將擁有多個文件( .xib文件 ),它們代表一個類的UIViewUIViewController 因此,在版本控制下的團隊中工作時會有所幫助

因此,現在……而不是只有一個.storyboard ,您將擁有多個.xib文件,這些文件將與( 您認為 )需要直觀表示的所有這些類相關聯。


鏈接:

Storyboard:有一個很好的 UI 設計器,所見即所得,拖動,調整大小的設計編輯器,生成代碼並與手動代碼更改同步。

SwiftUI:代碼是唯一的真實來源。 沒有設計師。 大量的硬編碼

暫無
暫無

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

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