2011-05-12 60 views
0

我遇到了一些麻烦,像所有事情一样愚蠢,进度视图覆盖。iPhone视图不会缩放以适合iPad屏幕

我创建了UIViewController的一个子类,它带有一个黑色的50%不透明背景和一个活动指示器,在我的远程数据类试图从数据类中获取数据时,它可以获取到上下文并消失远程服务器等。

它可以在iPhone上正常工作,缩放和旋转。

但是,当我在iPad模拟器或设备上启动它时,正方形只填满屏幕的左上角,不会调整大小以适合显示器。

但是,我所有的其他视图都是以相同的方式创建的,包括所有的tableview都会被忽略。

我的应用程序初始化与说单细胞表视图“载入中...”,然后调用远程数据服务类,然后执行以下操作:

progress = [[ProgressActivityViewController alloc] initWithNibName:@"ProgressActivityViewController" bundle:nil]; 
UIViewController *dlg = (UIViewController *)self.delegate; 
[dlg.view addSubview:progress.view]; 

NB:进步是建立在.h文件为ProgressActivityViewController) 这是远程数据服务类,它在添加和删除子视图时,当您初始化RemoteData类时,您将它作为代理传递给“self”,以便它可以通过协议与它通信。

我知道这需要一些其他类型的检查'isKindOfClass'等,我可以在以后添加,但我需要获得简单的视图,以扩展到全屏。

此代码的工作,并提出了在屏幕上查看,但它只是不填满屏幕在iPad上

因为我已经使用了活动的指标示例的源是在此链接: http://tapadoo.com/2009/iphone-how-to-do-full-screen-activity-status/

+0

您是否在该视图上检查过自动调整大小的遮罩?所有的支柱和弹簧都打开了吗? – Christian 2011-05-12 20:01:24

+0

是的,在我的XIB中,我基本上有一个视图和一个UIActivityIndi​​cator控件。所有设置为“缩放以适合”和“自动调整子视图”,但如果在iPad上加载,它将不会缩放到屏幕上。我通过为iPad创建一个独立的xib并重新使用一些设备检测代码并在initWithNibNamed:bundle中加载它来临时解决了这个问题:但它看起来并不是正确的解决方案。 – JamesB 2011-05-13 09:43:20

回答

0

您的项目中是否有iPad范例.xib,并且在应用程序的plist中列出了iPad xib文件?如果没有,你只能在左上角看到一个窗口。

创建一个新的通用iPhone/iPad项目,该模板将告诉你在plist中提及iPad xib的位置。

+0

它已经是一个通用应用程序,并且设备特定的布局位于相关的iPhone或iPad组中,主窗口 - {device} .xib可以正常加载,这是一个子视图,当应用程序从远程源请求数据时,该子视图会以编程方式添加,以模态方式工作。 – JamesB 2011-05-13 09:45:11

相关问题