【发布时间】:2011-05-24 19:56:41
【问题描述】:
我目前正在重构几个视图控制器,它们共享一些 IBOutlets 和 IBAction 方法。我将出口声明和IBAction 方法移到了超类中,将它们从子类中删除。
现在,当我打开 Interface Builder 时,我发现我看不到超类中声明的出口或动作。连接仍然存在,因为我在重构之前将它们连接起来,但它们是灰色的。 (重要的是要注意连接也可以工作,因为我的操作会在按下按钮时触发,并且我的插座已正确修改。)
问题是,如何让界面生成器识别超类的出口?这可能吗,如果没有,你们都推荐什么?
(只是为了好玩,这是我的超类头文件:)
@interface TFMainViewController : UIViewController {
UIImageView *logoImage, *thinkfunImage;
UIButton *buyFullButton;
}
@property (nonatomic, retain) IBOutlet UIImageView *logoImage, *thinkfunImage;
@property (nonatomic, retain) IBOutlet UIButton *buyFullButton;
-(IBAction) buyFullVersion;
@end
编辑:如果有人想知道,我正在使用 Xcode 和 IB 3.2.5,以及 iOS 4.2 SDK。
【问题讨论】:
-
你有没有想过这是否可能?我希望做同样的事情,但除非我在子类中重新声明它,否则 IB 似乎无法识别该属性?
-
有关于这个项目的消息吗?我在这里遇到了同样的问题——这次是不是我的安装程序插件超类(InstallerPane),所以我不能修改它——只有文档说我必须将我的 .xib 连接到超类的某些属性! !怎么做?
标签: ios xcode interface-builder ibaction iboutlet