ねえ、私は現在、いくつかのIBOutlet
とIBAction
のメソッドを共有するビューコントローラをリファクタリングしています。アウトレット宣言とIBAction
メソッドをスーパークラスに移動し、これらをサブクラスから切り離しました。スーパークラスで宣言されたIBOutletsにアクセスするには?
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
EDIT:誰もが不思議だ場合には、私はiOSの4.2 SDKで、XcodeとIB 3.2.5を使用しています。
これが可能かどうかは、私は同じことを望んでいたが、私はサブクラスでそれを再宣言しなければIBはプロパティを認識していないようだ? – Rog
この商品の最新情報を希望する私はここで同じ問題が発生しています。これはインストーラプラグインのスーパークラス(InstallerPane)で、私のものではないので変更できません。ドキュメントでは、自分の.xibをスーパークラスのいくつかのプロパティに接続する必要があると言います。 !の仕方? –