【问题标题】:Detail View of Split view controller doesnt changing its size in ios 4.2?拆分视图控制器的详细视图不会在 ios 4.2 中更改其大小?
【发布时间】:2010-12-29 05:53:46
【问题描述】:

在我的 iPad 应用程序中,我使用了 UISplitViewController,其中主视图包含表格视图,而详细视图包含 UIViewController。在按钮事件详细视图上来自主视图,代码如下所述。此代码在 iPad 3.2 上运行良好,但在 ios 4.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];

请帮忙,我该如何解决?

【问题讨论】:

    标签: iphone ios4 ipad


    【解决方案1】:

    终于在现场得到答案Click here

    感谢 - Alice Bevan 和 McGregor

    【讨论】:

    • 请注意:如果您在按照此解决方案中描述的方式呈现 detailScreen 后遇到旋转问题,请稍作调整以使转换正常工作:使用 NavController 作为应用程序的 rootViewController。如果隐藏 navBar,则可以将 splitView 添加到 navController。如果您现在想全屏显示 detailView,只需将 NavController 的 viewController 从 SplitView 更改为 detailView。
    【解决方案2】:

    我认为您正在尝试做一些不受支持的事情。您无法调整拆分的大小:大小是固定的。

    如果您想在横向模式下暂时只显示详细视图,也许您可​​以从视图层次结构中删除拆分视图并仅添加详细视图,然后在完成后将它们交换回来?

    【讨论】:

    • 但实际上它在 ipad 3.2 设备上运行良好。虽然删除拆分视图不是一个好主意,但我尝试以模态方式呈现详细视图,但最终也没有用。
    • 实际上去掉split view和添加detail view的方式略有不同,我们可以全屏呈现detail view。
    【解决方案3】:

    将此添加到您的 DetailViewController.m

    - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
        [self.view sizeToFit];
    
        NSLog(@"ROTATE - self.view.frame = %@", NSStringFromCGRect(self.view.frame)); 
    }
    

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多