(目标C)当我使用initWithFrame创建一个继承自UIView的类的新实例时,为什么位置没有正确显示?

时间:2015-03-04 05:12:10

标签: ios objective-c uiview frame cgrect

在我的appdelegate.m中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];

CGRect newFrame = CGRectMake(100, 200, 50, 150);

OtherView *newView = [[OtherView alloc] initWithFrame:newFrame];
//UIView *newView = [[UIView alloc] initWithFrame:newFrame];

newView.backgroundColor = [UIColor redColor];

[self.window addSubview:newView];

self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

return YES;
}

OtherView只是一个继承自UIView的空白类。

当我使用注释掉的代码而不是Otherview时,我的CGRect位于正确的位置,但是当我按原样使用上面的代码时,我的CGRect在屏幕左上方是屏幕外的。

1 个答案:

答案 0 :(得分:0)

尝试清理项目CMD+SHIFT+K,你没有导入OtherView.h或者错误的继承UIView