作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Xcode 4.5 和 iOS6 为 iPhone 编写一个应用程序。我还创建了一个新的 UIWindow
以便能够管理状态栏的区域(在那里显示消息等)我正在使用 Storyboard,我的 appDelegate
方法如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
当我将消息放在名为 viewDidAppear
的方法中时,消息没有出现:
- (void)viewDidAppear:(BOOL)animated {
if (!window) {
window = [[SGStatusBar alloc] initWithFrame:CGRectZero];
window.frame = [[UIApplication sharedApplication] statusBarFrame];
window.alpha = 0.5f;
[self.view.window makeKeyAndVisible]; // has to be main window of app
window.hidden = NO;
}
}
同样的方法,放在viewDidLoad
中,在console中给出警告:
2012-12-27 11:34:20.838 NewApp[433:c07] Application windows are expected to have a root view controller at the end of application launch
这是因为我创建了一个新的 UIWindow
吗?为什么这两种方法之间的差异如此之大?
而且,最重要的是,如何在 将代码放入 viewDidLoad
方法时摆脱此警告?
编辑:
我也遇到过同样的问题here ,但这不是我想要解决它的方式(这实际上是我正在现在解决它的方式)
我已经尝试通过这样做将我当前的 ViewController 设置为我的窗口的 Root View Controller :
ViewController *vcB = [[UIViewController alloc] init];
window.rootViewController = vcB;
但我不断收到一条警告:
Incompatible pointer types initializing 'ViewController *__strong' with an expression of type 'UIViewController *'
最佳答案
设置 window.rootViewController
属性。
关于iphone - "Application windows are expected to have a root view controller"条件外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051129/
我是一名优秀的程序员,十分优秀!