0

2つのクラスがあります

@interface PlayScene : UIView

@interface GameOverMenu : PlayScene <UITextFieldDelegate>

PlaySceneで、GameOverMenuのインスタンスを作成します

GameOverMenu* gorm = [[GameOverMenu alloc]initWithFrame:CGRectMake(0, 0, 320, 520)];
gorm.backgroundColor = [UIColor blackColor];
[self addSubview:gorm];

ただし、背景はサブビューではなくスーパービューに設定されています。つまり、背景はPlaySceneビューの要素を非表示にしないため、ボタンと一部の描画は背景の前に残ります。

それでも問題が解決しない場合は、サブビューをスーパービューの前に黒(たとえば)の背景で表示し、スーパービューの前の画面全体をカバーするようにします。サブビュークラスがPlaySceneからではなくUIViewからのみ継承されたかのように

4

1 に答える 1

2

以下の方法のいずれかを使用してください。

  • insertSubview: atIndex:
  • insertSubview: aboveSubview:
  • bringSubviewToFront:

編集

GameOverMenuのサブクラスであるインスタンスを作成してから、PlaySceneこのインスタンスをのビューにサブビューとして追加しようとPlaySceneしている場合は、それぞれのインスタンスを作成し、これら2つをサブビューとして3番目のビューに追加してみてください。多分ViewControllersビューまたは多分ただのビュー..あなたの要件に基づいて...PlaySceneGameOverMenu

于 2012-04-24T18:39:51.687 に答える