如何将子类添加为子视图,以便将子视图的背景设置在超级视图的前面



我有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视图的元素,因此按钮和一些绘图保留在背景前面

如果问题仍然不清楚,我想让我的子视图站在黑色(例如)背景的超级视图前面,覆盖超级视图前面的整个屏幕。好像子视图类只是从UIView继承的,而不是从PlayScene继承的

使用以下任一方法:

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

编辑

如果您尝试创建GameOverMenu的实例,它是PlayScene的子类,然后将此实例添加为PlayScene视图上的子视图,那么您可能可以尝试分别创建一个PlaySceneGameOverMenu的实例,并将这两个作为子视图添加到第三个视图中..也许是视图控制器视图,或者可能只是一个视图..根据您的要求...

最新更新