1

良い一日、

私の問題は、CCLayer である設定画面があり、その中に UISwitch を表示したいということです。このコードを設定で使用しました.m

    UISwitch * soundSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(240,150,0,0)];
    [soundSwitch addTarget:self action:@selector(soundButtonPressed:) forControlEvents:UIControlEventValueChanged];
    [[[CCDirector sharedDirector] view] addSubview:soundSwitch];

しかし、今ではゲームを起動した直後にスイッチが表示されます。設定レイヤーが初期化されたときにのみ表示されるようにします。この点で何か助けはありますか?

4

1 に答える 1

0

次のようにスイッチを追加してみてください

UISwitch * soundSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(240,150,0,0)];
    [soundSwitch addTarget:self action:@selector(soundButtonPressed:) forControlEvents:UIControlEventValueChanged];

[[[CCDirector sharedDirector]openGLView]addSubview:soundSwitch];

つまり、代わりに[[[CCDirector sharedDirector] openGLView] addSubview:soundSwitch]を使用します。

また、initWithFrame:CGRectMake(240,150,0,0)は、長さ0、幅0は重要ではないため、意味がありません。(130,210,30,30)のような有効な座標を試してください。

于 2012-12-07T09:20:55.003 に答える