gpt4 book ai didi

ios - 在 iOS 7 中具有多个 View Controller / View 的屏幕方向错误,仅限横向(iOS 8 很好)

转载 作者:行者123 更新时间:2023-12-01 15:45:11 25 4
gpt4 key购买 nike

我正在使用 TheSidebarController 将滑动菜单添加到 iOS 应用程序中。这是我正在使用的库,但我在其他库(如 ECSlidingViewController 等)中发现了同样的问题。它们基本上是通过将多个 View Controller 添加到包含 View Controller 上来工作的,没有什么太疯狂的。

问题是,当您将应用设为横向应用时,容器中的所有屏幕(菜单、内容屏幕)似乎都认为它们处于纵向模式,并在中途被切断。您可以在此屏幕截图中看到表格被截断的问题: http://imgur.com/xD5MUei

我一直在尝试以任何可能的方式让它工作,但没有运气。
我正在使用的库 + 示例项目可以在这里找到: https://github.com/jondanao/TheSidebarController

非常感谢任何帮助:)

编辑:人们说我可以将 table 拉长以使其看起来正常,但这只是掩盖了潜在的问题,即应用程序和/或屏幕仍然认为它们是纵向的。作为一个简单的例子,如果我采用示例项目,并在 LeftViewController 中替换以下代码:

- (void)dismissThisViewController
{
UIViewController* vc = [[UIViewController alloc] init];
UINavigationController* pulldown = [[UINavigationController alloc] initWithRootViewController:vc];

pulldown.view.frame = CGRectMake(pulldown.view.frame.origin.x, -[[UIApplication sharedApplication] delegate].window.frame.size.height,
pulldown.view.frame.size.width, pulldown.view.frame.size.height);
[[[UIApplication sharedApplication] delegate].window addSubview:pulldown.view];

[UIView animateWithDuration:.5 animations:^{
pulldown.view.frame = CGRectMake(pulldown.view.frame.origin.x, 0,
pulldown.view.frame.size.width, pulldown.view.frame.size.height);
} completion:^(BOOL finished) {
;
}];
}

viewcontroller 从侧面进入,而不是从顶部进入。

最佳答案

这很奇怪...我必须设置内容 View Controller 的框架,这是有道理的,但每次内容刷新时我都必须重置它:

- (void)setContentViewController:(UIViewController *)contentViewController
{
// Old View Controller
UIViewController *oldViewController = self.contentViewController;
[oldViewController willMoveToParentViewController:nil];
[oldViewController.view removeFromSuperview];
[oldViewController removeFromParentViewController];

// New View Controller
UIViewController *newViewController = contentViewController;
[self.contentContainerViewController addChildViewController:newViewController];
[self.contentContainerViewController.view addSubview:newViewController.view];
[newViewController didMoveToParentViewController:self.contentContainerViewController];

_contentViewController = newViewController;
if ([DeviceDetection isDeviceiPad]) {
_contentViewController.view.frame = CGRectMake(0, 0, 1024, 768);
}
}

关于ios - 在 iOS 7 中具有多个 View Controller / View 的屏幕方向错误,仅限横向(iOS 8 很好),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com