我创建了一个空的 iOS 项目,然后添加了一个自定义 GLView 类,然后将其添加到 AppDelegate。我有以下问题:
1) 如何在 iPhone 4 上启用高分辨率视网膜模式?目前我正在使用以下代码来检查设备:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
// Override point for customization after application launch.
_view = [[GLView alloc] initWithFrame:screenBounds];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
NSLog(@"iPad detected");
}
else {
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2) {
NSLog(@"iPhone4 detected");
_view.contentScaleFactor = [[UIScreen mainScreen] scale];
}
else {
NSLog(@"iPhone detected");
}
}
self.window.backgroundColor = [UIColor whiteColor];
//self.window.rootViewController = [[[UIViewController alloc] initWithNibName:nil bundle:nil] autorelease];
[self.window addSubview:_view];
但即使在设置内容因子之后,它也会绘制质量很差的带有锯齿状边缘的多边形,如下图所示:
http://farm8.staticflickr.com/7358/8725549609_e2ed1e0e2a_b.jpg
有没有办法将分辨率设置为 960x640 而不是默认的 480x320 ?
请注意,我不能使用“someImage@2x.png”,因为我在运行时在渲染缓冲区中生成图像。
2)我遇到的第二个问题是这个警告信息:
"Application windows are expected to have a root view controller at the end of application launch"
感谢您的时间。