2016-01-23 42 views
0

我已經觀看了IBDesignable上的優秀視頻https://developer.apple.com/videos/play/wwdc2014-411/並創建了一個框架,其中包含一個控件,供我的主應用程序使用(並在必要時共享)。框架中的IBDesignable控件

我使用IB,按照這個偉大的教程,http://supereasyapps.com/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from-an-xib-file-in-xcode-6

的技術效果很好,現在我可以把我的故事板可設計我的控制創造了一個自定義的「複合」的控制。

問題是我注意到我的「框架」中的所有IBOutlets和IBActions都出現在我的故事板上的IB中。但我希望隱藏它們!控件的功能隱藏在框架內,IBOutlets和IBActions就是這樣創建的,以方便他們在該框架內的操作,並通過代表或其他方式通知外部世界。

這種技術是在引人注目的,我可以用它來創建的「複合」控制一個可重複使用的庫,但它會隱藏從庫的實現者一定IBOutlets和IBActions有助於確保「安全」

的元素

這可以做到嗎? 在框架內是否有隱藏IBOutlet/IBAction元素的標誌?

回答

0

當您談到安全性時,如果您將@IBActions,@IBOutlets等聲明爲Internal,那麼它們對您的應用程序模塊是私有的。

就框架而言,它們由它們自己的模塊(檢入構建設置,模塊名稱)組成,並確保啓用了「定義模塊」。

這可確保您的模塊能夠「啓用」啓動器,即您的Framework中的所有內容(或者應用程序或具有自己模塊定義的包)都有其自己的環境。

從那裏,請確保你使用了正確的隱私,當談到聲明:

訪問控制,說明這裏是更好的細節: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

+0

感謝您的有用的信息。我應該說我在Objective-C中編寫框架。這可能會對可訪問性和可見性產生影響。我想知道有沒有辦法? – Fittoburst