Iphone 拆分视图控制器的详细视图在ios 4.2中没有更改其大小?
在我的iPad应用程序中,我使用了Iphone 拆分视图控制器的详细视图在ios 4.2中没有更改其大小?,iphone,ios4,ipad,Iphone,Ios4,Ipad,在我的iPad应用程序中,我使用了UISplitViewController,其中主视图包含表视图,而详细视图包含UIViewController。在按钮上,事件详细视图位于主视图之上,代码如下所述。这段代码在iPad3.2上运行良好,但在iOS4.2上不起作用 UIViewController *leftUIV = [appDelegate.splitViewController.viewControllers objectAtIndex:0]; UIViewController *rig
UISplitViewController
,其中主视图包含表视图,而详细视图包含UIViewController
。在按钮上,事件详细视图位于主视图之上,代码如下所述。这段代码在iPad3.2上运行良好,但在iOS4.2上不起作用
UIViewController *leftUIV = [appDelegate.splitViewController.viewControllers objectAtIndex:0];
UIViewController *rightUIV = [appDelegate.splitViewController.viewControllers objectAtIndex:1];
CGRect rectMaster = leftUIV.view.frame;
CGRect rectDetail = rightUIV.view.frame;
rectMaster.size.width = 0;
rectDetail.size.width = 1024;
rectDetail.origin.x = 0;
[leftUIV.view setFrame:rectMaster];
[rightUIV.view setFrame:rectDetail];
请帮忙,我该怎么解决呢?我想你在试图做一些不受支持的事情。无法调整拆分的大小:拆分的大小是固定的
如果您想在横向模式下临时仅显示局部视图,或许可以从视图层次结构中删除分割视图,只添加局部视图,然后在完成后将其交换回?我认为您正在尝试执行不受支持的操作。无法调整拆分的大小:拆分的大小是固定的
如果您想在横向模式下临时仅显示局部视图,也许可以从视图层次结构中删除分割视图,只添加局部视图,然后在完成后将其交换回原位?最终在现场得到答案
多亏了-Alice Bevan和McGregor终于在现场得到了答案
感谢-Alice Bevan和McGregor将此添加到您的DetailViewController.m
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[self.view sizeToFit];
NSLog(@"ROTATE - self.view.frame = %@", NSStringFromCGRect(self.view.frame));
}
将此添加到DetailViewController.m
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[self.view sizeToFit];
NSLog(@"ROTATE - self.view.frame = %@", NSStringFromCGRect(self.view.frame));
}
但实际上它在iPad3.2设备上运行良好。虽然移除分割视图不是一个好主意,但我尝试以模式显示细节视图,但最终也没有成功。实际上,移除分割视图和添加细节视图的方式略有不同,我们可以全屏显示细节视图。但实际上,它在ipad 3.2设备上运行良好。虽然移除分割视图不是个好主意,但我尝试以模式显示细节视图,但最终也没有成功。实际上移除分割视图和添加细节视图的方式略有不同,我们可以全屏显示细节视图。请注意:如果您在按照本解决方案中所述显示细节屏幕后,在细节屏幕上出现旋转问题,这里有一个轻微的调整,以使转换正常工作:使用NavController作为应用程序的rootViewController。如果隐藏导航栏,则可以将splitView添加到导航控制器。如果您现在想全屏显示detailView,只需将NavController的viewController从SplitView更改为detailView。注意:如果您在按照本解决方案中所述显示detailScreen后,在detailScreen上出现旋转问题,这里有一个轻微的调整,以使转换正常工作:使用NavController作为应用程序的rootViewController。如果隐藏导航栏,则可以将splitView添加到导航控制器。如果您现在想全屏显示detailView,只需将NavController的viewController从SplitView更改为detailView。