gpt4 book ai didi

ViewDidLoad 中的 iphone 设备当前方向

转载 作者:可可西里 更新时间:2023-11-01 03:04:44 26 4
gpt4 key购买 nike

请帮帮我。我有方法:

-(void) getCurrentOrientation{

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

if(orientation == UIInterfaceOrientationPortrait){
NSLog(@"portrait");
} else if(orientation == UIInterfaceOrientationLandscapeRight) {
NSLog(@"LandscapeRight");
} else if(orientation == UIInterfaceOrientationLandscapeLeft) {
NSLog(@"LandscapeLeft");
}
}

但是当我调用这个 getCurrentOrientation 时抛出 viewDidLoad

- (void)viewDidLoad
{
[super viewDidLoad];

[self getCurrentOrientation];

}

NSLog 为空。怎么了 ?我也试试

- (void)viewDidLoad
{
[super viewDidLoad];

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

if ( ([[UIDevice currentDevice] orientation] == UIDeviceOrientationPortrait)) {
NSLog(@"portrait");

} else if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)

{
NSLog(@"LandscapeRight");
}

}

但是那个 varint 也是空的。

我需要知道用户在哪个 ORIENTATION 启动 APP!

请给我任何建议。

最佳答案

你的代码绝对正确,没有问题。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

此声明仅适用于原始设备。

无论你想在模拟器中 checkin ,你都可以 checkin

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) {
// portrait
} else {
// landscape
}

更新:

我已经在设备和模拟器中为您测试。最初它只会在 viewDidLoad 中显示纵向,但您会将设备保持横向。第一个 Controller 将查看 shouldAutoRotate 方法。

您不应该依赖 viewDidLoad 作为初始方向。您最初应该依赖 shouldAutorotate 方法来确定方向。

关于ViewDidLoad 中的 iphone 设备当前方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770347/

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