[英]Subclassing a UIViewController class
我的應用程序有一個UITabBar
。 大多數選項卡具有相似的功能,盡管它們在重要方面有所不同。
為了避免代碼重復,我想創建一個處理類似功能的 class ( BaseViewController
),並使用它的子類( FirstViewController
, Second
等)來控制獨特的功能。
這樣做的最佳方法是什么?
我設想的一個問題是,如果我創建 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.