我處於一種情況,其中一個ViewController有很多特殊情況,我需要一種處理它們的優雅方式。總體思路是我的View的下半部分在每種情況下都是相同的。 上半部分針對每種情況進行了更改。需要幫助瞭解如何以編程方式添加IB創建的UIViews
按照DRY,我想避免爲每個特殊情況製作ViewController的副本,並在每個ViewController的底部更改按鈕(如果需要進行更改)。通常,我創建一個.xib,在IB中構建我的UI,並建立連接。我爲屏幕的下半部分做了這個,它工作正常。
對於屏幕的上半部分,我分別創建了單獨的UIView實例。我希望在ViewController出現之前動態加載那些(文檔告訴我使用layoutSubviews,layoutIfNeeded和setNeedsLayout)。
這個設計呈現的問題是我習慣於在IB中與我定義爲IBOutlets的變量進行連接。我遵循頭文件中的變量屬性模式,使它們成爲屬性並使用.m文件中的「合成」。我也習慣於將UITextField的委託設置爲文件所有者,這樣我就可以在鍵盤上辭去他們的第一個響應者狀態。
如果Interface Builder只允許我在給定的視圖中訪問文件所有者和IBOutlets,那麼如何在超級視圖中訪問這些動態添加它的屬性?這裏的設計是什麼?
在此先感謝!