首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将outlets添加到UIButton

将outlets添加到UIButton
EN

Stack Overflow用户
提问于 2010-03-27 17:51:32
回答 1查看 1.1K关注 0票数 0

为了快速模拟UI,我希望能够在界面构建器中将按钮拖动到视图上,然后从该按钮拖动一个连接到当您单击它时应该出现的视图。

在IB中使用UIButton的子类有点不方便,所以我更喜欢将行为添加到UIButton本身。不幸的是,在一个类别中创建的网点似乎在IB中不可见:

代码语言:javascript
复制
@interface UIButton (myextensions) {
    IBOutlet UIView *outletDestination;
}
@end

可以通过这种方式添加额外的网点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-27 18:02:34

可以通过这种方式添加额外的插座吗?

不是的。您不能通过在类别中声明实例变量来添加它们。

但是,您可以添加属性,并且可以将IBOutlet放在属性上,因此可以通过这种方式添加outlets。使用现代运行时(iPhone上唯一可用的运行时),属性可以添加实例变量。

我认为,如果您打算为属性创建一个自定义访问器(您必须使用@synthesize),则不能这样做,但这听起来对您的情况并不重要:您只是模拟UI,所以您不会编写自定义访问器。

或者,您可以在IB本身中的“库”面板的“类”选项卡上创建插座。在那里选择一个类,然后选择下面窗格中的Outlets选项卡,然后向列表中添加一个outlet。

对于另一个解决方案,您需要打开一个边框,否则将不会显示任何类。这是因为它是上下文敏感的: Mac将具有AppKit类(如NSButton),而iPhone nib将具有UIKit类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2528803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档