我目前正在重构几个视图控制器,这些控制器共享一些IBOutlet
和IBAction
方法。我将outlet的声明和IBAction
方法移动到了一个超类中,将其从子类中删除。
现在,当我打开Interface Builder时,我发现我看不到超类中声明的outlets或actions。连接仍然存在,因为在重构之前它们已被连接起来,但是它们被灰化了。(需要注意的是,这些连接也有效,因为我的action在按下按钮时会触发,并且我的outlets也被正确地修改。)
问题是,如何让Interface Builder识别超类中的outlets?这是否可能,如果不可能,你们有什么建议?
(只是为了好玩,这里是我的超类头文件:)
@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使用。