这个是AppDelegate.m:
#import "AppDelegate.h" #import "BNRHypnosisView.h" #import "ViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // 第一个矩形 CGRect firstFrame = CGRectMake(160, 240, 100, 150); BNRHypnosisView *firstView = [[BNRHypnosisView alloc] initWithFrame:firstFrame]; firstView.backgroundColor = [UIColor blueColor]; [self.window addSubview:firstView]; // 第二个矩形 CGRect secondFrame = CGRectMake(20, 30, 50, 50); BNRHypnosisView *secondView = [[BNRHypnosisView alloc] initWithFrame:secondFrame]; secondView.backgroundColor = [UIColor blueColor]; [self.window addSubview:secondView]; ViewController *VC =[[ViewController alloc] init]; self.window.rootViewController = VC; self.window.backgroundColor = [UIColor redColor]; [self.window makeKeyAndVisible]; return YES; } ...
ViewController.h/m/xib中的内容是模板默认提供的。
BNRHypnosisView.h/m中没有变量的声明和方法的实现(BNRHypnosisView继承自UIView)。
最后运行在虚拟机上显示的是一片白色。
解决方案:80分
原因是你添加了vc在window上 vc本身的view盖住了你的两个uiview 而且vc是全屏 把你window也遮住所以看不到红色