2012-07-25 63 views
2

有沒有人知道在故事板中從另一個筆尖加載UIView內容的方法?我知道我可以用代碼很容易地做到這一點,但我想弄清楚如何在IB中做更多。我可以使用Interface Builder將nib內容加載到UIView嗎?

我有一個主界面佈局的故事板,我有一個UIScrollView,我想在IB中設計它的內容。我可以想出如何做到這一點的唯一方法是設計它自己的.nib中的UIView,但接下來我的問題是,如何加載筆尖而不編寫它來做到這一點?這甚至有可能嗎?它似乎並沒有太多牽扯到我。

回答

2

我假設你只是想在IB中佈置你的UIScrollView,提到.nib是因爲這是一種你正在探索的方法,但是如果你可以在你的故事板中嚴格執行這個方法,不可取:

  1. 首先,在Xcode中創建一個新的文件,它是UIScrollView的子類。

  2. 在您的故事板中,將UIScrollView拖出到您要顯示此滾動視圖的場景(視圖控制器)。

  3. 在標識檢查器中,將UIScrollView的自定義類設置爲UIScrollView的子類。

  4. 通過CTRL +拖動的UIScrollView轉化成其顯示在視圖控制器子類的.h文件中這一UIScrollView中創建一個出口。把它命名爲像myScrollView

  5. 在你的ViewController的-viewDidLoad方法,設置contentSize將UIScrollView的屬性設置爲您希望的大小。所以它看起來像這樣:

    self.myScrollView.contentSize = CGSizeMake(800,800);

  6. 現在,將UI對象拖出到您的UIScrollView並進行設計。

  7. 重要:要創建網點,這些對象是有點棘手。假設你已經拖出了一個UILabel。您需要手動進入你的UIScrollView子類,並添加到.H

    @屬性(非原子,弱)IBOutlet中的UILabel * myLabel;

並向.M

@synthesize myLabel = _myLabel; 
  1. 現在你需要得到你的故事板和Ctrl +拖累滾動視圖一起到標籤來創建自己的屏幕大綱視圖出口。這與你習慣的相反。

  2. 現在,您可以從viewcontroller或scrollview子類中引用該插座。例如,在viewcontroller -viewDidLoad中,你可以說:

    self.scrollView.myLabel.text = @「Hello World」;

HTH!

0

在IB中添加一個通用UIView,將其自定義類設置爲您的nib文件的名稱。

將GradientControl替換爲您的nib文件的名稱(減去'.xib')。 screenshot

+0

我在Interface Builder中不斷收到錯誤,未知的類。 – Weston 2012-07-28 15:47:22

+0

我想你需要添加一個UIView類或者一個UIViewController。如果使用XCode接口添加它,並選中「.nib文件接口」複選框,則添加通用UIViewController而不是通用UIView,並將名稱更改爲該名稱的自定義類名稱。那樣有用嗎? – 2012-07-28 19:27:13

+0

如果我將視圖控制器更改爲筆尖,那麼它可以工作,但我試圖以這種方式設置滾動視圖的內容,難道不可能嗎? – Weston 2012-07-29 13:34:44

相關問題