我有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视图上的子视图添加,则可能可以尝试分别创建PlayScene和,然后将这两个作为子视图添加到第三个视图中。根据您的要求,可能是ViewControllers视图,或者仅仅是一个视图...

关于objective-c - 如何将子类添加为 subview ,以便将 subview 的背景设置在 super View 的前面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10303942/

10-09 17:18