0

我在 IBDesignable https://developer.apple.com/videos/play/wwdc2014-411/上观看了精彩的视频,并创建了一个带有控件的框架,供我的主应用程序使用(如有必要,还可以共享) )。

根据这个很棒的教程,我使用 IB 创建了一个自定义“复合”控件,http://supereasyapps.com/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from -an-xib-file-in-xcode-6

该技术效果很好,我现在可以将我的可设计控件放在我的故事板上。

问题是我注意到我的“框架”中的所有 IBOutlets 和 IBAction 都出现在故事​​板上的 IB 中。但我想隐藏它们!控件的功能隐藏在框架内,IBOutlets 和 IBActions 已被创建以促进它们在该框架内的操作,并通过委托或其他方式处理对外部世界的通知。

这种技术很有说服力,因为我可以使用它来创建一个可重用的“复合”控件库,但它对库的实现者隐藏某些 IBOutlets 和 IBAction 以确保“安全”元素会很有用

这可以做到吗?是否有任何标志可以隐藏框架内的 IBOutlet/IBAction 元素?

4

1 回答 1

0

当您谈到安全性时,如果您将@IBActions、@IBOutlets 等声明为内部,那么它们对您的应用程序模块是私有的。

在框架方面,它们由自己的模块组成(检查构建设置,模块名称)并确保启用“定义模块”。

这确保了您的模块对于初学者“启用”,即您的框架(或应用程序,或定义了自己的模块的包)中的所有内容都有自己的环境。

从那里,确保您在声明时使用了正确的隐私:

访问控制在这里解释得更详细: https ://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

于 2016-01-23T20:13:32.687 回答