问题标签 [uideviceorientation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 将设备放在表面上后,是否可以确定应用程序 UI 是否处于横向?
如果用户在横向模式下拿着 iPad,我正在确定键盘的帧偏移量。如果我在横向模式下添加内容然后将 iPad 平放在表面上,我发现我无法正确设置偏移量。我正在使用下面的代码来设置偏移量:
我可以检查的 UIDeviceOrientations 是:
我有什么方法可以检查/知道用户是否一直以横向(UIDeviceOrientationLandscapeLeft
或UIDeviceOrientationLandscapeRight
)持有应用程序,然后将设备放下(应该是UIDeviceOrientationFaceUp
)
objective-c - ios 5 与 ios 6 问题中的自动旋转
我有一个必须支持 iOS 5.0 及更高版本的 iPad 应用程序。我有一个错误,它在 5.0/5.1 中的行为与在 6.0 中的行为不同。问题是 tabbarcontroller 中的视图控制器推送模态视图,而后者又通过 navigationController 推送全屏视图。问题是,在全屏视图中,如果 iPad 旋转,则底层视图控制器(tabbarcontroller 中的一个)不会旋转。现在让我分解iOS版本的差异:
首先,这个有问题的viewController实现了shouldAutoRotateToInterfaceOrientation(返回YES)以及willRotateToInterfaceOrientation和willAnimateRotationToInterfaceOrientation。
在 iOS 6.0 中,我注意到旋转方法(willRotate... & willAnimate...)没有被调用,所以我注册它以接收 UIDeviceOrientationDidChangeNotification 通知并在收到通知时执行两个 Rotate 方法的代码,并且其他方法没有执行。这解决了 iOS 6.0 中的问题。
问题是,在 5.0/5.1 中,正在执行旋转方法(willRotate... & willAnimate...),但视图没有旋转。如果“全屏视图”没有出现在这个视图控制器之上并且 iPad 被旋转,这两个方法执行并且视图相应地旋转。
请帮忙。提前致谢。
除了上述之外,我尝试过的事情。
我尝试检查 UIDeviceOrientation 并将其转换为 UIInterfaceOrientation 并调用 [self shouldAutorotateToInterfaceOrientation:xxx]; 视图仍然显示错误。
opengl-es-2.0 - GLKit 渲染和 iOS 设备方向(面朝上/朝下)
我有一个应用程序,其中包含一些基于 Xcode 4.5.2 的 OpenGL 游戏模板的投影矩阵设置代码。在函数中,我通过查询以及和update
设置适当的 z 平移值。这有效地让我可以根据每个设备的方向设置屏幕上呈现的区域的比例。我还要求在运行时为设备的每个方向保持正确的渲染比例。baseModelViewMatrix
[[UIDevice currentDevice] userInterfaceIdiom]
UIDeviceOrientationIsLandscape:
UIDeviceOrientationIsPortrait:
update
willAnimateRotationToInterfaceOrientation:duration:
这一切都很好,但是我注意到当设备面向上或面朝下时,我的场景不会显示,我只看到看起来是空的 GLKView。将设备旋转到垂直于地平面的任何方向,可以将场景恢复到预期的行为。我试过检查UIDeviceOrientationIsValidInterfaceOrientation:
,它似乎应该处理我需要的东西,但没有发现行为有任何差异。
我的猜测是,当检测到方向发生变化时,GLKit 会对 GLKView 进行一些自动更新,但我没有找到任何可能导致这种特定行为的明确答案。有什么想法吗?提前致谢。
ios - 使用 UIDeviceOrientationDidChangeNotification 时,iOS 设备在正确位置时没有反应
我有一个应用程序,当用户更改设备的位置时,我正在让我的 iOS 设备发出声音。我让用户将设备置于平面位置、横向位置,然后是纵向位置,当用户在适当的时间将设备置于这些位置时,应用程序会发出声音以确认位置。
然而,我的问题是,如果设备最初处于平放位置(例如平放在桌子上),设备不会发出声音。换句话说,只有当用户将设备放在那个位置时才会发出声音,并且不会立即感觉到它已经在的位置。有没有办法让我纠正这个问题,以便应用程序在最初处于该位置或置于正确位置时发出声音?这是我的相关代码:
谁能看到我做错了什么,以及如何解决这个问题?
ios - 需要帮助独立调用方法: - (void)orientationChanged:(NSNotification *)note in iOS
我正在编写一个检查设备方向的应用程序,因此,我有以下代码块:
依次调用以下方法:
我想做的是将上述方法与我完全从单独部分发布的初始代码块分开调用。这可能吗?如果可以,怎么做?
ios - 在 iOS 应用程序中使用 UIDeviceOrientation 的 if/else 语句有问题
我正在编写一个检查设备初始物理位置的应用程序。如果它是平的,则设备应该做一些事情,然后用户应该将设备定位在其他位置,以便应用程序可以做额外的工作。如果应用程序不是平的,那么用户应该定位该位置使其变平,然后继续按照应用程序的要求将设备移动到不同的位置。
无论设备最初是否是平的,或者如果用户必须移动设备以使其变平,这两个动作都应该调用相同的方法,从而导致一系列需要处理的 if/else 语句。以下是检查设备初始物理方向的方法:
currentTest 是一组枚举,每次设备的方向改变时,其值都必须改变。每次设备改变位置时,都会执行一次新的测试,总共进行三个测试(平面、横向和纵向测试)。上述代码块调用的方法如下所示:
由于某种原因,我的代码没有达到下面的“if”语句
谁能看到我做错了什么?我的感觉是,我要么没有将 NSNotification 参数的正确值传递给方法“orientationChanged”,要么由于某种原因,我无法将orientationChanged 方法中的前两个 if/else 语句连接到 if/else 语句来吧。
ios - UIDeviceOrientation 通知
为了接收UIDeviceOrientation
更改通知,必须做两件事:
- 打电话
beginGeneratingDeviceOrientationNotifications
_UIDevice
- 注册通知。
这是我的问题:
假设我有两个视图控制器想要接收这些通知,第一个调用beginGeneratingDeviceOrientationNotifications
和注册,然后第二个做同样的事情。现在我的第一个 VC 卸载和注销并调用endGeneratingDeviceOrientationNotifications
. 即使第一个 VC “关闭它们”,第二个 VC 是否会继续收到这些通知?
iphone - [self.view addSubview:_topViewController.view]; 自转问题
真的被困了好几个星期。我正在使用ECSlidingViewController,我想要一个视图,能够旋转到横向和纵向,因为它是一张横向照片,需要利用可用空间,而我不希望应用程序的其余部分旋转, 只停留在风景中。
我确信自动旋转方法没有被调用,因为它使用这种技术切换到视图......
在我的初始视图控制器上......
所以它只是堆叠在顶部,而不是切换到这个视图。所以,它总是在听初始视图控制器的旋转方法......
非常感谢您的帮助,正如我所说,我已经被困了好几天了......
ios - UIActivityViewController 关闭后的正确方向
我正在从我的控制器展示 UIActivityViewController。我遇到了旋转问题。在选择了一些数据共享选项后,比如说“邮件”,邮件撰写视图控制器就会出现。但是如果我之后旋转设备并关闭邮件控制器,我的 VC 不会旋转到当前方向。我尝试为 UIActivityViewController 设置完成处理程序,如下所示:
1)
或者
2)
第一个解决方案根本没有帮助。第二种解决方案使导航栏保持不变(高度差 12 点)。
请告知如何处理这种情况。
ios - 面朝上方向 iPhone
我可以在我的 iPhone 应用程序中以某种方式禁用 Face Up 方向吗?或者我可以以某种方式处理它吗?
当放在平板上时,它会扭曲应用程序的视图。