在UIWindow中添加的UIView为什么显示不出来?好像UIWindow也有问题。

iOS 码拜 8年前 (2016-01-30) 1177次浏览
这个是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也遮住所以看不到红色

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在UIWindow中添加的UIView为什么显示不出来?好像UIWindow也有问题。
喜欢 (0)
[1034331897@qq.com]
分享 (0)