gpt4 book ai didi

ios - 以编程方式将方向转换为横向的代码?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:38 25 4
gpt4 key购买 nike

在 FirstViewController 中有一个按钮。按下后,有一个转到 SecondViewController 的模态转场。 FirstViewController 是Portrait,SecondViewController 是Landscape。在 Storyboard文件中,我将 SecondVC 设置为横向,但 iOS 模拟器不会自动更改它的方向。
谁能帮我找到自动将 SecondViewController 从 Portait 变为 Landscape 的代码?

viewDidLoad SecondVC 中的语句:

-(void)viewDidAppear:(BOOL)animated  {
UIDeviceOrientationIsLandscape(YES);
sleep(2);
santaImageTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(santaChangeImage)
userInfo:NULL
repeats:YES];
[santaImageTimer fire];
image1 = YES;
}

感谢任何帮助。

最佳答案

遗憾的是,虽然您尝试调用 UIDeviceOrientationIsLandscape(YES); 是一次勇敢的尝试,但实际上并没有改变方向。该方法用于确认持有方向的变量是否为横向。

例如,UIInterfaceOrientationIsLandscape(toInterfaceOrientation) 将在 toInterfaceOrientation 保持横向方向时返回 TRUE,否则返回 FALSE。

Handling View Rotations 中概述了改变方向的正确技术。在UIViewController 类引用中。具体来说,在 iOS 6 中,您应该:

- (BOOL)shouldAutorotate
{
return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}

在 iOS 5 中,必要的方法是:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
return YES;
else
return NO;
}

关于ios - 以编程方式将方向转换为横向的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016377/

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