2011-01-12 90 views
1

我有一些问题显示来自视图控制器的视图。基本上,我有一个UIViewController类,我通过重载loadView方法编程创建视图。以下是我的代码:无法从UIViewController添加UIView

UIView* view = controller.view; 
UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if(!window) 
{ 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
} 
[window addSubview:view]; 

该视图不可见。

但是,如果我通过调用

[self presentModalViewController: controller animated: YES]; 

创建了一个简单视图基于应用程序的一切运作良好。

我是新来的iOS视图编程。我做的任何事都是错的?

+1

欢迎来到Stack Overflow,Steve。顺便说一句,如果您在代码中使用代码格式化程序(编辑器中的图标),它将自动正确格式化。我还用“ios”和“iphone”标签更新了您的问题。 – 2011-01-12 21:35:05

回答

0

史蒂夫,

我不知道你正试图在这里实现的目标,而是一个典型的iPhone应用程序将有一个基地UIViewController子类,说一个导航控制器或选项卡控制器和控制器的视图添加为一个appDelegate类中UIWindow视图的子视图。

然后,您将进一步实例化UIViewControllers或其子类,并将这些视图添加为当前视图的子视图等。

您是否检出了XCode中的基本模板?这些应该会告诉你appDelegate等是如何工作的。根据我的经验,您通常不需要在其他类中混淆UIWindow。

+0

谢谢。你的意思是我不能添加一个UIView到UIWindow?我查看了FB Connect,它将一个UIView添加到UIWindow中,并且工作正常。但是当我试图从UIViewController添加视图到视图时,它不起作用。 – 2011-01-13 00:22:10