这是一个荒谬的愚蠢问题,但我遇到了麻烦。我创建了一个 .xib,其中包含三个 UIView。一个绿色视图、一个红色视图和一个蓝色视图。我在模拟器中运行时会显示绿色视图。我在我的绿色视图上放了 2 个按钮。一个显示红色视图,一个显示蓝色视图。这是我的绿色视图代码:
#import "IDGreenView.h"
#import "IDRedView.h"
#import "IDBlueView.h"
#import "IDGreenView.h"
@interface IDGreenView()
@property (weak, nonatomic) IBOutlet UIButton *RedViewButton;
@property (weak, nonatomic) IBOutlet UIButton *BlueViewButton;
@end
@implementation IDGreenView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (IBAction)showRedView:(id)sender {
[self.window addSubview:[[IDRedView alloc]init]];
}
- (IBAction)showBlueView:(id)sender {
[self.window addSubview:[[IDBlueView alloc]init]];
}
@end
这是我的红色视图代码:
#import "IDRedView.h"
@implementation IDRedView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
我可以看到它进入了 Red View 的 initWithFrame 方法,所以我知道调用没问题。我需要做什么才能显示红色视图?
谢谢你。
--------------------------------------------------更新评论------------------------------------------------ --
没有。我将以下代码放在 ViewController 中,但也没有用。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self.view addSubview:[[IDRedView alloc] initWithFrame:self.view.bounds]];
}
为什么不显示?