Tag: uiinterfaceorientation

保持横向模式的控制,但允许uitabbar切换

我有一个UITabBar开关的位置,当iphone改变方向和工作正常,但我希望在第一个标签的视图内的控件保持静态,无论手机的位置。 我觉得我失去了一些明显的东西? 编辑:基本上,控件总是风景,但标签栏必须切换方向。 这可能吗?

在横屏模式下全屏播放video,当我的整个应用程序locking在纵向模式下

我想以全屏模式播放横向模式的video。 而我的应用程序locking在肖像模式。 如何实现这一点。 请帮帮我。 提前致谢

只允许一个视图控制器的所有方向

我知道这个问题已经在这里 , 这里和这里问了。 我尝试了所有可能的方法,但没有成功。 我试图在Swift(iOS 8)中开发一个应用程序,在这个应用程序中,只有一个视图控制器可以在所有方向上以只有肖像的方式被查看。 为此,我只在“目标” – >“常规” – >“设备方向”中启用了Portrait模式(因为除了一个视图控制器之外,我希望应用程序只能在纵向模式下操作)。 我已经添加了下面的代码到视图控制器,我想要在所有的方向进行操作: override func supportedInterfaceOrientations() -> Int { return Int(UIInterfaceOrientationMask.All.rawValue) } override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation { return UIInterfaceOrientation.LandscapeLeft; } override func shouldAutorotate() -> Bool { return true; } 但是不能以横向模式旋转。

只在landscapeLeft和landscapeRight之间旋转

我有风景模式的vidoe播放。 当设备方向改变时,视图仅在landscapeLeft和landscapeRight之间旋转。 这就是说在播放电影时没有肖像模式。 除了电影视图之外,其他视图是portraint模式,所以应用程序configuration是肖像。 如何使电影视图只在横向模式下旋转。 这是我的代码的一部分。 的appdelegate, internal var shouldRotate = false func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { return shouldRotate ? .allButUpsideDown : .portrait } 电影视图控制器, let appDelegate = UIApplication.shared.delegate as! AppDelegate appDelegate.shouldRotate = true // or false to disable rotation let value = UIInterfaceOrientation.landscapeLeft.rawValue UIDevice.current.setValue(value, forKey: "orientation") 目前的问题是,当方向发生变化时,电影视图可以是简单的。

UITabBarController / UINavigationController旋转问题

我的问题是以下几点:我只想允许所有ViewController的纵向方向,除了1个ViewController,它应该允许纵向和横向左/右。 现在我已经花费了将近2天的时间来为iOS设置不同的幻灯片/ ViewController的方向。 经过一番search,我发现这个线程在堆栈: UITabBarController旋转问题在iOS 6 我遵循了Kunani在这个主题中的例子,我将在这里贴出来保存所有的读者: 扎克,我遇到了同样的问题。 这是因为你的viewControllerembedded在TabBar控制器或UINavigationController内部,而这些方法的调用发生在那些内部,而不是正常的视图(在iOS6中改变)。 我遇到了这个问题,因为我在一个UINavigationController中embedded了一个viewController,这个viewController在所有的导航到不同视图(注册过程,login等等)的模态视图中。 我简单的修复就是为UINavigationController创build一个包含这两个方法的CATEGORY。 我已经应该说,不pipe怎么说,因为我不想让我的模态视图旋转。 你的修复可能是这个简单的,试试看吧。 希望能帮助到你。 我创build了一个类别并将其命名为autoRotate并select了UINavigationController选项。 下面是M + H文件。 #import "UINavigationController+autoRotate.h" @implementation UINavigationController (autoRotate) -(BOOL)shouldAutorotate { return NO; } – (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } @end …和类别.h: #import <UIKit/UIKit.h> @interface UINavigationController (autoRotate) -(BOOL)shouldAutorotate; – (NSUInteger)supportedInterfaceOrientations; @end 我做了他所说的,并尝试设置类别为我的UITabBarController工作,所有连接到TabBar的类现在只允许orientationPortrait。 但是,如果你看看下面的图片 (从我的项目截图)有一个名为ShowTaskView的StoryBoard中间有一个类。 这个类通过UINavigationController连接到大多数类(它们直接连接到UITabBarController)。 即使我设置UITabBarController只允许肖像也ShowTaskView似乎受该规则的影响,我不能让它旋转。 我的项目中的scheme也可以这样描述: TabBarController —-> UINavigationController ——-> […]

UIImagePickerController在缩放时显示黑条 – 这是iOS中的错误吗?

编辑 : 有人build议这个post是重复的 ,情况并非如此,因为黑色条纹最初不存在,仿制转换不能解决问题。 我在iPad Air 2上运行这个和目标iOS 8.我有一个UIImagePickerController其showsCameraControls属性设置为NO 。 当在横向启动应用程序,然后放大,这是发生了什么(所有的图像是非裁剪): 出现黑条,可以通过将设备方向更改为纵向(也将显示黑条)并将其更改回来。 改为肖像之后: 回到风景(+放大): 奇怪的是,在回到风景之后,缩放滑块在缩放过程中不再可见。 从最初的肖像开始,缩放首先工作,直到一个更改为横向,其中出现一个黑色的酒吧,其中返回到肖像时停留。 将showsCameraControls设置为YES时,不会发生这种情况。 我怎样才能摆脱这个问题? 更新 :苹果宣称已经解决了这个问题在iOS 9。

UINavigationController中的viewControllers有可能有不同的方向吗?

我希望所有的视图控制器只支持肖像模式,除了一个视图控制器让我们称之为“LandscapeSupportViewController”应该也支持横向模式。 问题是当我在LandscapeSupportViewController横向模式,然后推一个新的视图控制器,只支持肖像模式,推视图控制器也将在横向模式! 我怎么能强迫它成为肖像? 我看到几个应用程序,例如Skype iPhone应用程序,消息选项卡只是肖像 – >然后,如果你按下input消息本身,你会得到一个支持风景的视图控制器, 因为它是有意义的启用风景模式时用户正在聊天 – >然后如果你按下查看个人资料,一个新的视图控制器将被推动,但肖像! 如果你回去也会发生同样的情况,即使你从风景中走过来,你也不得不回到人像。 谢谢

在Safari中检测iOS上的初始设备方向

我知道如何在Safari上检测 iOS 设备方向的变化 ,但我无法了解如何检测页面加载时的初始方向。 检测设备是否处于纵向或横向模式很简单 – 只要将窗口宽度与窗口高度分开,并将结果与​​1进行比较即可。但是,我没有看到从右侧的左侧翻转画面和左侧画面的方法。 有没有办法做到这一点? (为什么需要它?因为加速度计数据不会在设备打开时与屏幕一起翻转,因此代码必须知道当前方向以正确处理加速度计数据。)

用Photolibrary设置应该为假

如果我添加一个popup窗口,可以从iPad访问我的照片库,系统总是会出现以下消息: 由于未捕获exception“UIApplicationInvalidInterfaceOrientation”而终止应用程序,原因:“支持的方向与应用程序没有共同的方向,[PUUIAlbumListViewController shouldAutorotate]返回YES' 但是我已经在我的Projekt信息中设置了支持横向模式。 所以我添加了以下function override func shouldAutorotate() -> Bool { return false } 但我不知道如何使用它? 如果我在我的应用程序上启用UIInterfaceOrientationPortrait ,它也能正常工作。 但是我不想支持UIInterfaceOrientationPortrait 。 我会打电话给我的popover像这样: var popover: UIPopoverController = UIPopoverController(contentViewController: ImagePickerController) popover.presentPopoverFromBarButtonItem(addImageButton, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) 任何帮助将不胜感激

如何在iOS中的子视图控制器方向更改时旋转父视图控制器

我在我的父视图控制器上使用显示子视图控制器 childView1 *viewController = [[childView1 alloc]initWithNibName:examTFVC_NIB bundle:nil row:gesture.view.tag productID:test_productID size:testsize Duration:duration]; self.modalPresentationStyle = UIModalPresentationCurrentContext; self.view.alpha = 0.4f; viewController.view.backgroundColor = [UIColor clearColor]; viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:viewController animated:YES completion:NULL]; 我显示透明的视图控制器,而不是我的父视图控制器和其景观。 但问题是当我从横向更改设备从风景左到风景右或从右到左比我的子视图控制器的方向更改,但父视图控制器保持相同的方向。 我的父视图控制器的方向更改时,我不显示子视图控制器如何更改父视图控制器的方向随着孩子? 有一件事我试图改变方向通过编程传递通知中心从孩子到家长改变方向。 在子视图控制器中 – (NSUInteger)supportedInterfaceOrientations { NSUInteger supportedOrientations = UIInterfaceOrientationMaskLandscape; [[NSNotificationCenter defaultCenter] postNotificationName:@"RotateParent"object:nil]; return supportedOrientations; } – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation […]