xcode中的@ IB *及其用例的完整列表

时间:2017-08-09 00:37:21

标签: ios xcode

我目前正在swift学习iOS开发。

在xcode中,我知道最常用的@IB@IBAction@IBOutlet,还有其他@IB,例如@IBInspectable,{{1} }。

但我想知道,还有其他@IBDesignable可用吗?他们的用例是什么?

2 个答案:

答案 0 :(得分:7)

那些是属性,而AFAIK Apple没有完整的列表,但有一个IDE test file in swift repository,它会收集所有IB前缀的数据(可能是看台) for Interface Builder):

@IBAction

https://developer.apple.com/documentation/appkit/constants/interface_builder_constants/ibaction

  

Interface Builder使用的类型限定符,用于将方法公开为   用户界面元素和应用程序代码之间的连接点。用过的   而不是方法声明中的void返回类型。例如   如何使用此标识符,请参阅Xcode概述。

换句话说 - 它将您的故事板对象(例如UIButton)连接到可以对其执行的操作@IBAction func didTap(_ sender: Any)

@IBOutlet

https://developer.apple.com/documentation/appkit/constants/interface_builder_constants/iboutlet?language=objc

  

Interface Builder使用的类型限定符,用于将符号公开为   用于将消息从应用程序代码发送给用户的连接点   界面元素。在a中的对象类型之前使用   属性或实例变量声明。有关如何使用的示例   此标识符,请参阅Xcode概述。

换句话说 - 当您想要更改(ex)标签中的文本时,可以参考这些内容。 @IBOutlet weak var label: UILabel!

@IBOutletColection(现在它只是@IBOutlet的[])

每当一组出口,应该具有相似(或更好 - 相同!)的行为和样式,你可以将它们放在@IBOutletCollection下。它看起来像这样:@IBOutlet var someLabels: [UILabel]!

以下两者都有助于实时渲染:

  

您可以使用两个不同的属性 - @ IBDesignable和   @ IBInspectable - 启用实时,交互式自定义视图设计   Interface Builder。创建继承自的自定义视图时   UIView类或NSView类

@IBDesignable

  

您可以添加@IBDesignable   在类声明之前的属性。添加自定义后   查看界面生成器(通过设置视图的自定义类)   在检查器窗格中,Interface Builder在您的视图中呈现您的视图   画布。

@IBinspectable

  

您还可以将@IBInspectable属性添加到具有与用户定义的运行时属性兼容的类型的属性。将自定义视图添加到Interface Builder后,可以在检查器中编辑这些属性。

More information you can find here

它在Interface Builder中看起来像这样: enter image description here

还有其他一些:@GKInspectable@NSManaged@nonobjc@available等等...您可以阅读有关attributes in swift here <的更多信息/ p>

答案 1 :(得分:3)

我认为Apple没有完整而紧凑的清单。但是如果你看看Apple的iBook 使用Swift与Cocoa和Objective-C 并寻找&#34; @ IB&#34;,你会发现所有属性都有解释。您还可以找到其他属性的说明,例如@NSManaged@objc