1

ボタン サブビュー StartScene.h を含むメイン ビューがあります。

@class PlayScene
@interface StartScene : UIView <UITextFieldDelegate> {
    PlayScene* tView;
    UIButton *Ok;
}

StartScene.m のどこかに:

Ok = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[Ok setFrame:CGRectMake(100, 190, 65, 30)];
[Ok setTitle:(NSString *)@"OK" forState:(UIControlState)UIControlStateNormal];
[Ok addTarget:self action:@selector(gameOverDidLoad) forControlEvents:UIControlEventTouchDown];
[self addSubview:Ok];

Ok.hidden=YES;
Ok.enabled=NO;

tView = [[PlayScene alloc]initWithFrame:CGRectMake(0, 0, 320, 520)];
tView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backGround.jpg"]];
[self addSubview:tView];

サブビュー: PlayScene.h:

#import "StartScene.h"
@interface PlayScene : StartScene {
}

PlayScene.m:

- (void)ooneFingerTwoTaps {
[NSThread detachNewThreadSelector:@selector(oneFingerTwoTaps) toTarget:self withObject:nil];
}

が呼び出され、そのメソッドは

 - (void)oneFingerTwoTaps
{
//  some code
    if (self.GameState==GameLost) {
        [super checkScore:xScore];
        Ok.hidden=NO;
        Ok.enabled=YES;

        [[NSThread currentThread] cancel];
        }
    }
}

そのため、PlayScene で何かが発生したときに [OK] ボタンが表示されるようにする必要があります。

私はもう試した

Ok.hidden=NO;
Ok.enabled=YES;

しかし、うまくいきません。子ビューはまだ初期化されていない UIButton 変数しか見ることができないという事実のために、私は推測します。

だから私はここで2つの質問を得ました:

1) self.Ok または super.Ok を使用して Ok 変数を呼び出すことができます。super.Ok は完全に機能すると思いましたが、わかりませんし、ここで正しい構文を見つけることもできません。それは何ですか?

2) 問題は他の方法で解決できるのでしょうか?

4

0 に答える 0