【发布时间】:2013-08-03 13:39:00
【问题描述】:
在 Interface builder 中,如果我右键单击 tableView,我会选择委托和 dataSource 出口,有时我们会连接到文件的所有者,在大多数情况下是实现这些协议的视图控制器,
如何为具有委托和数据源属性的自定义视图获得类似的选项?
【问题讨论】:
标签: ios objective-c
在 Interface builder 中,如果我右键单击 tableView,我会选择委托和 dataSource 出口,有时我们会连接到文件的所有者,在大多数情况下是实现这些协议的视图控制器,
如何为具有委托和数据源属性的自定义视图获得类似的选项?
【问题讨论】:
标签: ios objective-c
您需要满足以下条件:
Custom Class 应该设置为您在Interface Builder 中的自定义视图的类名(通过身份检查器)。如果您的委托或数据源对象也是自定义视图,还要确保设置了该视图的自定义类@interface 应使用IBOutlet 装饰其委托和数据源属性。例如,@property (nonatomic, weak) IBOutlet id <SomeProtocol> delegate;
【讨论】:
IBAction 和IBOutlet 只是Interface Builder 用来确定哪些变量/属性允许连接出口或操作的预处理器宏。它们对编译后的代码没有任何影响。
【讨论】:
您可以按照以下步骤来实现。
在 .h 文件中设置 tableview 委托和数据源属性,如
UIViewController
然后在您的 .m 文件中实现委托和数据源协议。像往常一样。
好的。现在在您的视图控制器中将视图拖入界面构建器或以编程方式创建实例。
将视图的类设置为您创建的子类。 (在界面生成器右侧);
然后在这个视图中放置一个 UITableView。并将连接拖到其父 UIview 并选择数据源和委托。
【讨论】: