gpt4 book ai didi

ios - 强制旋转 UIViewController

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:09:29 24 4
gpt4 key购买 nike

所以,我已经放弃尝试解决我一直遇到的一个问题,即我的 Controller 将在不调用我的 shouldAutorotateToInterfaceOrientation: 方法的情况下旋转,因为几年来每个人都在陈述它作为 iOS 错误。

现在我只需要强制旋转我的 UIViewController。有什么方法可以做到这一点,因为 UIDevice 实例方法现在已被删除,我不知道如何强制旋转我的 Controller 。

最佳答案

我不确定您所说的哪个 UIDevice 方法已被删除,但以下方法对我有用(这确实使用了 UIDevice orientation 方法)。最重要的是,如果您有一个只接受横向的 View ,您可以使用以下命令强制 iOS 更改方向。这很好奇,但它确实有效。很抱歉,我不能对原作者表示感谢,但有一次在 StackOverflow 的其他地方遇到了这个问题:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

- (void)forceLandscape
{
// make sure shouldAutorotateToInterfaceOrientation is configured to accept only landscape

if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation]))
{
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *view = [window.subviews objectAtIndex:0];
[view removeFromSuperview];
[window addSubview:view];
}
}

相当于强制纵向模式(当然,假设您的 shouldAutorotateToInterfaceOrientation 只接受纵向模式):

- (void)forcePortrait
{
// make sure shouldAutorotateToInterfaceOrientation is configured to accept only portrait

if (UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation]))
{
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *view = [window.subviews objectAtIndex:0];
[view removeFromSuperview];
[window addSubview:view];
}
}

关于ios - 强制旋转 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366929/

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