检测 iOS UIDevice 方向

2024-01-03

我需要检测设备何时处于纵向,以便我可以发出特殊的动画。但我不希望我的视图自动旋转。

当设备旋转为纵向时,如何覆盖自动旋转的视图?我的应用程序只需要以横向显示它的视图,但如果我希望能够检测到纵向旋转,我似乎也需要支持纵向。


尝试在应用程序加载或视图加载时执行以下操作:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter]
   addObserver:self selector:@selector(orientationChanged:)
   name:UIDeviceOrientationDidChangeNotification
   object:[UIDevice currentDevice]];

然后添加以下方法:

- (void) orientationChanged:(NSNotification *)note
{
   UIDevice * device = note.object;
   switch(device.orientation)
   {
       case UIDeviceOrientationPortrait:
       /* start special animation */
       break;

       case UIDeviceOrientationPortraitUpsideDown:
       /* start special animation */
       break;

       default:
       break;
   };
}

上述内容将允许您注册设备的方向变化,而无需启用视图的自动旋转。


Note

在 iOS 中的所有情况下,当您添加观察者时,也会在适当的时间将其删除(可能但并非总是在视图出现/消失时)。您只能拥有“成对”的观察/取消观察代码。如果您不这样做,应用程序将会崩溃。选择观察/不观察的位置超出了本 QA 的范围。但是,您必须有一个“unobserve”来匹配上面的“observe”代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测 iOS UIDevice 方向 的相关文章

  • 玻璃效果 UIView

    我想知道如何在 UIView 上添加玻璃效果 我想像这样的效果 http pttrns com pickers detail 0dc9d9f6c6a7577613b3453768eee3b3在灰色半透明视图上 您 可以在这里看到 Thank
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • 在另一种语言中使用 dateFormatter [重复]

    这个问题在这里已经有答案了 我正在运行一段返回的代码nil在具有不同语言设置的 iPhone 上运行时 代码示例如下所示 let dateFormatter DateFormatter dateFormatter dateFormat MM
  • iOS 8 中的 UISplitViewController 状态恢复

    在 iOS 8 上 UISplitViewController 似乎可以保存和恢复其子视图的状态 例如 主视图是否隐藏 这是不可取的 因为我的应用程序应该始终以横向方式显示主视图 并始终以纵向方式隐藏它 如果用户以横向模式关闭应用程序 保存
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 在 Swift 中自动移动 UISlider

    我想在按下按钮时将 UISlider 从 minValue 循环移动到 maxValue 并在再次按下按钮时将其停止在当前位置 我想使用 Swift 我遇到的主要问题是函数 slider setValue 太快了 我希望动画更慢 IBAct
  • Swift 中具有透明背景的按钮边框

    我怎样才能做一个UIButton边框看起来像下图 入门 按钮一样具有透明背景吗 我应该如何使用情节提要来实现这一点 或者如何以编程方式实现这一点 设置backgroundColor to clearColor使按钮透明 例如尝试下面的代码
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • PrepareForSegue之谜

    我在两个不同的 VC 中有一个prepareForSegue 方法 一个使用一个if声明 而另一个旨在使用switch 除了名称之外 代码几乎相同 这个效果很好 void prepareForSegue UIStoryboardSegue
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • 将 CALayer 旋转 90 度?

    如何旋转CALayer90度 我需要旋转所有内容 包括子图层和坐标系 Obj C theLayer transform CATransform3DMakeRotation 90 0 180 0 M PI 0 0 0 0 1 0 Swift
  • 我应该在哪个方法中设置 UITextField 的委托?

    在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗 我尝试在 init 方法中将委托设置为 self 但它没有调用相应的委托方法 当我将代码移动到 viewDidLoad 中时 它注册为将 s
  • 如何通过辅助功能 API 获取当前所选文本的全局屏幕坐标。

    我需要帮助来了解字典应用程序如何在任何应用程序上按 CMD CTRL D 时显示所选文本的以下弹出对话框 我想实施 我的可可应用程序具有相同的功能 我的应用程序将在后台运行 并显示有关所选文本的一些热键的建议 我已经实现了热键捕获 我只需要
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we

随机推荐

  • 吸收 HTML 元素的宽度

    我正在思考如何使用 html 元素来做到这一点 颜色没有什么特别的 所以我不需要把它们做成图像 请注意 文本是右对齐的 此外 颜色条从左侧上升到文本 因此 这可以通过让文本向右浮动 背景颜色为白色 并在其旁边设置一个背景颜色的 div 然后
  • 将事件监听器添加到未来的项目(没有 jQuery)[重复]

    这个问题在这里已经有答案了 很好奇我是否愿意接受用 Vanilla JS 编写列表应用程序的挑战 问题是事件监听器没有添加到新的列表项中 我向列表中的现有项目添加删除按钮 const deleteButton document queryS
  • 为什么数字的行为与有序的不同?

    Scala 有许多可以用作类型类的特征 例如Ordered and Numeric包装内scala math 例如 我可以使用编写一个通用方法Ordered像这样 def f T
  • Request.Url.Host 和 ApplicationPath 一次调用

    有什么办法可以得到HttpContext Current Request Url Host and HttpContext Current Request ApplicationPath一通电话 像 完整的应用程序网址 之类的东西 编辑 澄
  • 如何在 Swift 中将字典切片转换为字典

    我正在尝试转换myDictionary dropFirst 一本新字典缺少一个键 我不在乎是哪一个 dropFirst 返回一个切片 我想要一本与以下类型相同的新词典myDictionary 您可以将数组切片转换为数组 如下所示let ar
  • 类型“Observable<{}>”不可分配给类型“Observable”

    前言 我知道还有很多其他问题也有同样的错误 但我似乎仍然无法弄清楚我自己的问题 我有一个简单的服务和另一个简单的组件 我正在尝试非常严格地遵循 angular2 英雄教程 这是我的代码 位置 ts export class Location
  • 使用 Segue 发送变量

    我正在开发一个简单的 iOS Swift 应用程序 该应用程序有 2 个视图控制器和一个已编程为连接到另一个视图控制器的按钮 如下所示 IBAction func pushMe sender AnyObject self performSe
  • 将列表中的学生姓名和年龄添加到列表框

    我有 3 个textboxes我可以在哪里进入Name Surname and Age 当我按下按钮1后 它会生成一个具有这些属性的新学生 如何将具有所有 3 个属性的学生添加到ListBox 看起来像这样 姓名 姓氏 年龄1 约翰 史密斯
  • WP7 - 在“重建”时擦除独立存储设置

    我刚刚发现 困难的方法 如果您在 Visual Studio 中执行 重建 或 清理 gt 构建 后将应用程序部署到设备 您的应用程序将首先被卸载 然后重新安装 导致隔离的存储文件被擦除 应用程序部署工具似乎总是会卸载 重新安装 无论它是否
  • Java Instant.parse 日期 java 8

    我有一些旧版 KML 文档 其中包含时间戳条目 为什么使用 Instant 解析时以下日期无效 这两种方法都假设解析 ISO 8601 格式的日期 字符串日期字符串 2017 12 04T08 06 60Z Using java time
  • 您能否将 Google Cloud 网络控制台登录限制在某个 IP 地址范围内?

    我在使用 Google Cloud Platform 特别是我工作的 IT 安全部门的 Big Query 时遇到了一些阻力 争论的焦点是任何人都可以从任何地方登录 有什么办法只允许来自特定 IP 范围的 GCP 访问吗 或者是否有其他方法
  • Azure 函数请求正文为 xml 而不是 json

    我正在跟进这个例子 https learn microsoft com en us azure azure functions functions test a function在 Azure 函数中创建 javascript 函数并使用
  • php 的 mysql_real_escape_string() 的等效 JavaScript 代码是什么?

    等效的 javascript 代码是什么mysql real escape string 基于PHP 文档 http php net manual en function mysql real escape string php该方法的作用
  • 如何在 felm() 函数之后绘制交互的边际效应

    我基于具有一堆单位固定效应的 巨大 面板数据进行了回归 所以我使用了包 lfe 中的函数 felm 此外 我在回归中有两个连续变量的交互项 但是 当绘制 x 对 y 的边际效应如何随 x2 变化时 felm 生成的对象似乎通常与大多数绘图函
  • 为什么我使用 context().method() 违反了状态图断言?

    我已经为一个项目开发了一些概念代码 我很快就会从事该项目 该项目适合于状态机设计 我认为 boost statechart 会做得很好 然而 当我尝试使用 context 时 我遇到了障碍 这是一个示例 我很乐意提供更多代码 但我认为这是相
  • 如何“安全”地使用 window.history.pushState

    我想使用window history pushState 支持浏览器的功能 不幸的是我在 Firefox 上遇到错误 类型错误 history pushState 不是函数 如何才能避免这种情况呢 虽然我没有在 JavaScript 中测试
  • Swift 1.2 中的可变@autoclosure ?

    现在 autoclosure是参数声明的一部分而不是类型 如何声明函数采用可变数量的自动闭包 Before public func coalesce
  • matplotlib show() 不能工作两次

    我有一个奇怪的问题 与 matplotlib 有关 如果我运行这个程序 我可以多次打开和关闭同一个图形 import numpy from pylab import figure show X numpy random rand 100 1
  • 高流量网站的 Facebook 身份验证:空访问令牌、空 /me

    目前 我们有一个在 Facebook 选项卡上运行的应用程序 该应用程序收到了大量流量 每隔几秒钟就有人注册 而且大多数都成功了 但是我遇到了以下问题 根本没有收到访问令牌 空响应 没有错误 或者如果收到 则对 me 的 API 调用失败
  • 检测 iOS UIDevice 方向

    我需要检测设备何时处于纵向 以便我可以发出特殊的动画 但我不希望我的视图自动旋转 当设备旋转为纵向时 如何覆盖自动旋转的视图 我的应用程序只需要以横向显示它的视图 但如果我希望能够检测到纵向旋转 我似乎也需要支持纵向 尝试在应用程序加载或视