ios – 旋转和遏制api

ios – 旋转和遏制api,第1张

概述我有两个视图控制器,A和B. A只是支持肖像,而B可以支持横向.我正在使用收容api显示B. [self addChildViewController:child];[self.view addSubview:child.view];child.view.frame = self.view.bounds;[child didMoveToParentViewController:self]; 我有两个视图控制器,A和B. A只是支持肖像,而B可以支持横向.我正在使用收容API显示B.

[self addChildVIEwController:child];[self.vIEw addSubvIEw:child.vIEw];child.vIEw.frame = self.vIEw.bounds;[child dIDMovetoParentVIEwController:self];

我已经实施了

- (BOol)shouldautorotate{    UIVIEwController *current = _presentingChild ? _child : self;    return [current shouldautorotate];}- (NSUInteger)supportedInterfaceOrIEntations{    UIVIEwController *current = _presentingChild ? _child : self;    return [current supportedInterfaceOrIEntations];}

一切都像一个魅力.如果设备在呈现A时呈现横向,而我呈现B则旋转立即转动.

当我解雇B时问题就来了.如果设备是横向A,则显示横向(这不应该发生).

你有建议如何面对这个问题吗?我知道我可以使用模态控制器,这将解决问题.但我不想在这种特定情况下使用模态vc.

解决方法 如果我理解正确,那么shouldautorotate和supportedInterfaceOrIEntations方法都在A vIEwcontroller中,它包含B vIEwcontroller.

如果我是对的,你实现这两种方法的方式是不好的:当前视图控制器是self(如果_presentingChild条件为false),你应该有一个无限递归,因为,例如,shouldautorotate将被递归调用而不会结束(你回来了[self shouldautorotate]).

因此,如果您没有经历无限递归,那么只有两种可能性:

>从不调用这两种方法
> _presentingChild条件始终为true

检查并告诉我

总结

以上是内存溢出为你收集整理的ios – 旋转和遏制api全部内容,希望文章能够帮你解决ios – 旋转和遏制api所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1020809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存