gpt4 book ai didi

ios - 尝试在 iOS 8 中以横向模式而不是纵向模式显示键盘

转载 作者:行者123 更新时间:2023-11-29 10:37:44 25 4
gpt4 key购买 nike

我有一个使用 iOS7 制作的 iPad 项目,它在横向模式下一次显示一个 View Controller 。在这个 View Controller 上,有一个 UITextField,它是屏幕上的第一响应者,因此当用户来到这个屏幕时,应该立即显示键盘,它确实这样做了。

但是,问题是在 iOS 8 中,当 View Controller 以横向模式显示时,键盘以纵向模式显示。我该如何更正此问题,以便键盘的方向与 View Controller (仍在横向模式下正确显示)?仅作记录,此 View 特别使用 .xib 文件,而不是在 Storyboard 中。

下面是我的代码:

MyLandscapeViewController.m

相关方法:

-(BOOL)shouldAutorotate {
return NO;
}

-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
return UIInterfaceOrientationLandscapeLeft;
}


- (void)viewDidUnload {
[self setKeyboardButton:nil];
[super viewDidUnload];
}

对于 View Controller ,我创建了一个自定义导航 Controller :

MyNavigationController.m

-(BOOL)shouldAutorotate{
return [self.topViewController shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations{
return [self.topViewController supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}

在我的应用程序中,它被调用如下:

MyLandscapeViewController *myView = [[MyLandscapeViewController alloc] initWithNibName:@"MyLandscapeViewController" bundle:nil];

MyNavigationController *navigationController = [[MyNavigationController alloc] initWithRootViewController:myView];
[self.rootViewController presentViewController:navigationController animated:YES completion:nil];

我需要做哪些更改才能在 iOS 8 上运行?

最佳答案

试试这个。

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger: UIInterfaceOrientationLandscapeLeft] forKey:@"orientation"];
[UIViewController attemptRotationToDeviceOrientation];

}

关于ios - 尝试在 iOS 8 中以横向模式而不是纵向模式显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069405/

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