[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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)