簡體   English   中英

子類化 UIViewController class

[英]Subclassing a UIViewController class

我的應用程序有一個UITabBar 大多數選項卡具有相似的功能,盡管它們在重要方面有所不同。
為了避免代碼重復,我想創建一個處理類似功能的 class ( BaseViewController ),並使用它的子類( FirstViewControllerSecond等)來控制獨特的功能。

這樣做的最佳方法是什么?
我設想的一個問題是,如果我創建 xib 和視圖控制器,如何將 xib 中的元素連接到基本視圖 controller?

                   > FirstTabViewController
BaseViewController > SecondTabViewController
                   > ThirdTabViewController

如果BaseViewController具有 IBOutlet 屬性,它們在 Interface Builder 中繼承的 class 中的行為將完全相同。 您需要做的就是將您的連接拖過來。

FirstTabViewController、SecondTabViewController 等。 將繼承 BaseViewController 的出口和操作,因此您將 UI 元素連接到您的子類,就像您連接到基本 class 一樣。

您還可以獲得基礎 class 以編程方式為您創建東西。 例如導航欄按鈕/背景圖像。

本質上,您需要創建一個 UIViewController 子類,這將是您的基礎。 我們稱之為 MyBaseVC。

接下來,您將提前 go 並創建其他三個視圖 controller 類(MyVC1、MyVC2、MyVC3),就像您做第一個一樣。 在他們的 header 文件中,用 MyBaseVC 替換 UIViewController。 這些現在將是 MyBaseVC 的子類。

然后在 Interface Builder 文件的身份檢查器中,您將創建的任何 View Controller 的自定義 Class 設置為 MyVC1、MyVC2、MyVC3

暫無
暫無

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

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