iOS:如何检测摇动动作?

2024-04-20

我将以下代码添加到我的 appDelegate.m

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (motion == UIEventSubtypeMotionShake )
    {
        // User was shaking the device. Post a notification named "shake".
        [[NSNotificationCenter defaultCenter] postNotificationName:@"shake" object:self];
    }
}

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{   
}

- (void)shakeSuccess
{
    // do something...
}

然后我补充道:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    // INIT THE BACKGROUND PATH STRING

    [self refreshFields];
    [self.window addSubview:navController.view];
    [self.window makeKeyAndVisible];
    ***[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(shakeSuccess) name:@"shake" object:nil];***

    return YES;
}

当我在 iPhone 上启动应用程序时,不会调用名为“shakeSuccess”的方法。 我应该怎么做才能在我的应用程序中实现此功能? 任何想法?


这可能会帮助你...
https://stackoverflow.com/a/2405692/796103 https://stackoverflow.com/a/2405692/796103

他说你应该设置UIApplication's applicationSupportsShakeToEdit to YES。并重写 VC 中的 3 个方法:

-(BOOL)canBecomeFirstResponder {
    return YES;
}

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self becomeFirstResponder];
}

- (void)viewWillDisappear:(BOOL)animated {
    [self resignFirstResponder];
    [super viewWillDisappear:animated];
}

你的其余代码都很好。 (这-motionEnded:withEvent:)

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

iOS:如何检测摇动动作? 的相关文章

  • 使用 Swift 获取 UITableViewCell 中 UITextField 的 indexPath

    因此 我正在构建一个详细视图控制器应用程序 它显示一个包含两部分单元格的表格 标签和文本字段 我正在尝试检索文本字段值并将其添加到数组中 我尝试使用 textField superview superview 技术 但没有成功 func t
  • 原生编程对于移动开发有何优势?

    我需要为一家公司在一些主要的移动操作系统上开发应用程序 特别是 iOS Android 和 WP7 我最初计划为三种不同的操作系统编写三个独立的应用程序 每个应用程序都使用本机 SDK 然而 这样做有什么好处吗 有许多可用的跨平台工具 Se
  • 使用iOS类别创建新颜色

    我想创造一些新的UIColor我的应用程序中始终使用的 s RGB 有时会稍微调整 确切的颜色阴影正在争论中 目前 我必须从 RGB 创建新颜色 并且代码遍布各处并重复 有没有更好的方法可以创建一种新的颜色并在我的应用程序中使用它 UICo
  • 我什么时候应该将可选值与 nil 进行比较?

    很多时候 您需要编写如下代码 if someOptional nil do something with the unwrapped someOptional e g someFunction someOptional 这似乎有点冗长 而且
  • iOS中如何以url的形式发布数据?

    我想将 UITextfields 数据发送到服务器 我想发布数据 但服务器向我显示错误消息 请检查我的代码 NSURL url NSURL URLWithString http projectsatseoxperts net au fish
  • UITabBar 显示更多图标而不是“更多”选项

    我目前正在尝试使用UITabBar对于包含 7 个的 iOS 应用程序tabBar Items 当我使用故事板时 我能够实现所有 7 个目标tabBarItems 当我以编程方式添加tabBarItems 它强制 更多 按钮访问其他 tab
  • 如何使用 GPUImageHarrisCornerDetectionFilter 获取角点

    我正在尝试使用以下方法从静态图像中获取角点GPUImageHarrisCornerDetectionFilter 我查看了项目中的示例代码 查看了文档 还查看了这篇文章 内容大致相同 GPUImage 现有 UIImage 上的 Harri
  • 扩展中的 Swift 'open' 关键字和可重写方法/属性?

    随着介绍openSwift 3 0 中的关键字 Swift 中的 open 关键字是什么 https stackoverflow com questions 38947101 what is the open keyword in swif
  • 场景 - 根据 iPad 或 iPhone 使用专用故事板

    Apple 现在希望我们使用 场景 而不是窗口和屏幕来显示 iPad 和 iPhone 的内容 现在添加了对场景的支持 我似乎失去了使用故事板定位 iPad 或 iPhone 的能力 I set my scenes inside plist
  • 读取目标设备上 UIAutomation 的 UIAApplication.setPreferencesValueForKey() 设置的首选项?

    在过去的几天里 我一直在使用 Apple 的 UIAutomation 框架 试图组合一套验收测试来推动我正在开发的应用程序的开发 以 BDD 类型的方式 我遇到的一件事是如何让 SUT 进入给定状态 以便在我需要设置一些内部状态时可以开始
  • 我是否必须注册新的捆绑包 ID 才能将新应用程序上传到 iTune Connect?

    这是我第一次将应用程序上传到 iTunes Connect 这让我感到害怕 捆绑包 ID 的选择似乎只是一种选择 Xcode iOS 通配符应用程序 ID 下面有一行 你可以注册一个新的bundle id 问题是 我需要注册一个新的bund
  • 生成具有给定分布的随机数

    看看这个问题 快速选择随机数的概率 https stackoverflow com questions 26092977 swift probability of random number being selected 最上面的答案建议使
  • 从应用程序访问 iCloud Drive 文件

    我希望我的应用程序支持 iCloud 以便我可以存储和获取 PDF 文件 我的问题是 如何在不使用 iCloud 的情况下访问 iCloud 驱动器文件UIDocumentPickerViewController 实际上我想在我的应用程序中
  • iOS:不明确的属性合成行为。继承相关

    我在用着AppCode它标记了一个非常大的项目代码中的一个有趣的情况 预ARC 子类定义并合成一个称为委托的属性 实际上属性声明已经被注释掉了 但是 synthesize delegate delegate 声明被留下了 该代码可以编译 大
  • Xcode 6 自适应故事板每个设备有不同的 Segues

    我对 Xcode 6 中新引入的自适应故事板遇到了一些麻烦 iPhone 应用程序已经完成 现在我想用它创建一个通用应用程序 假设我有一个viewcontroller显示一些单元格和详细信息viewcontroller其中显示单元格的详细信
  • 如何在 App Store Connect 上 AB 测试您的 iOS 应用程序图标?

    根据文档 您现在应该能够在 iOS 上对应用程序图标进行 AB 测试 但是 我不知道该怎么做 在这里 它说您需要包含一个支持上传备用图标的资产目录 https help apple com app store connect devb53f
  • Objective-C ARC 只读属性和私有 setter 实现

    在 ARC 之前 如果我希望某个属性对于使用它是只读的 但在类中可写 我可以这样做 Public declaration interface SomeClass NSObject property nonatomic retain read
  • 在iOS中启动应用程序时如何复制sqlite数据库?

    每次启动应用程序时 我想将带有最新更新的 sqlite 数据库从数据库位置复制到我的 iOS 应用程序 有什么办法可以做到吗 您可以将以下方法添加到您的应用程序委托中 void copyDatabaseIfNeeded Using NSFi
  • 仅为 UITableView 中的某个部分启用编辑模式

    我有一个tableView其中有一个可编辑的部分 如果我启用整个编辑tableView 其他单元格在编辑模式下不是selectable 所以我需要仅在特定部分启用编辑模式 以便其他单元格selectable 该部分是可编辑的 我需要设置编辑
  • 如何为现有核心数据实体添加更多属性?

    我有一个正在使用核心数据的项目 我需要向现有实体 列 添加更多属性 列 如果我手动将属性添加到数据模型应用程序崩溃 这是由于我用来将数据插入表的上下文保存之前 请帮助 谢谢 所以我的问题是我不知道这个持久存储协调器代码去了哪里 事实证明它是

随机推荐

  • 即使密钥存在,S3 也会给我 NoSuchKey 错误

    这是我的 boto3 命令 用于从 S3 存储桶获取具有特定密钥的对象 resp s3client get object Bucket lt gt lt gt Key MzA1MjY1NzkzX2QudHh0 它给出以下错误 botocor
  • 将 createView 与allowDiskUse 结合使用

    在 mongo 聚合框架中可以使用该选项 allowDiskUse true 当一些繁重的操作 例如排序 无法在内存中执行时 这非常有用 我正在尝试做同样的事情createView 在 Mongo 3 4 中可用 但我找不到地方allowD
  • 在 C 中捕获 Ctrl-C

    How does one catch Ctrl C in C 使用信号处理程序 这是一个简单的例子 翻转bool用于main include
  • 如何阻止 parseFloat() 将零剥离到小数点右侧

    我有一个函数 用于从字符串中删除不需要的字符 定义为货币符号 然后将值作为数字返回 返回值时 我进行以下调用 return parseFloat x 我遇到的问题是 当 x 0 00 时 我期望得到 0 00 带有两位小数的浮点数 我得到的
  • HQL(Hibernate)如何检查一个元素列表是否是另一个列表的子集?

    我很难创建一个 HQL 查询来检查表 X 的记录 a 列表是否包含在同一表 X 的另一个列表 b 中 这是我正在使用的一个例子 select r from Role r where select p from Permission p wh
  • 表单验证禁用提交按钮,直到 WPF 中的所有字段均已填写

    鉴于 WPF 4 0 基于桌面的应用程序 基本输入形式有两个TextBox字段和提交按钮 XAML 代码
  • Visual Studio 2017 不突出显示错误

    我最近从 Visual Studio 2012 升级到 2017 更新到版本 15 3 5 并且 IDE 出现一些问题 在某个项目中 我没有得到错误下划线 在错误列表窗格中 仅构建 实际上显示more比 Build IntelliSense
  • 合并两个具有相同数字键的 PHP 数组[重复]

    这个问题在这里已经有答案了 尝试合并具有相同数字键的两个数组时遇到一些困难 我努力了array merge and array merge recursive 但似乎所做的只是附加第二个数组 第一个数组具有以下形式 Array 384 gt
  • 编辑时更改 NSTextField 边框和 BG 颜色

    我有一个NSTextField显示时不使用边框和窗口背景颜色 但我希望在编辑时将其更改为具有默认边框和白色 BG 颜色 我知道我可以通过以下方式更改这些属性 nameTextField bezeled true nameTextField
  • 加速 solr 索引

    Solr 索引花费的时间太长 我使用的mysql有超过3000万条记录 我正在使用两级子查询 请向我建议索引数据的最佳实践 以便我可以加快该过程 查看Solr性能因素 http wiki apache org solr SolrPerfor
  • java中的验证码[重复]

    这个问题在这里已经有答案了 我想尝试用 Java 开发一个安全登录系统 我应该如何使用 Java 实现 CAPTCHA 我在 Java 中使用的三个验证码库是 JCaptcha 这是三者中最可配置的 并且有很好的文档记录 但无论如何 我们似
  • 使用 HTTPS 链接与 php 方法(file_get_contents、getimagesize)

    当我尝试读取网站中的某些 HTTPS 网址时遇到问题 如果我使用 http 则没有问题 使用file get contents和curl 但是当我用 https 替换 http 时 这些方法不起作用 我收到一些错误 failed to op
  • 调整 R Markdown PDF 文档中文本和块输出之间的间距

    我无法理解如何控制 R Markdown PDF 文档中文本和块输出之间的间距 下面是一个文档的示例 output pdf document setlength lineskip 0pt begin center Random Text e
  • UICollectionView - 在单元格之间画一条线

    如何在 UICollectionView 中的单元格之间绘制一条跨越空间的线 预期的输出是这样的 我所做的最好的事情就是在每个单元格内添加行 如何连接穿过空间的线 我做了一个扩展 你可以像这样使用 collectionView drawLi
  • 使用 Jackson 序列化类型化集合时出错

    我正在尝试使用混合序列化集合 但杰克逊不会保存类型信息 这是一个基本测试 说明会发生什么 public class CollectionSerializationTest interface Common extends Serializa
  • GitHub Actions 使用从 shell 设置的变量

    Goal 在 GitHub Actions 中 从 shell 动态定义我的提交消息 name Commit changes uses EndBug add and commit v7 with message added on date
  • Golang:带有 -> 字符的命令行参数

    我需要接受命令行参数来运行以下格式的 Go 程序 go run app go 1 gt A 我在用os Args 1 但它只接受到 1 gt A 被跳过 非常感谢任何解决此问题的帮助 Thanks 你的 shell 正在解释 gt as I
  • 如何获取时间。立即勾选

    我有一个迭代循环 直到作业启动并运行 ticker time NewTicker time Second 2 defer ticker Stop started time Now for now range ticker C job err
  • 什么更快?循环或多个 if 条件

    我想知道什么更快 是只用一条指令 即 1 1 执行 9 次 for 循环还是执行 9 个 if 条件时 我认为 if 更快 因为您不需要检查循环中的指令 它应该几乎相同 因为for循环本质上是检查if条件为真并运行一段代码 非常类似于if声
  • iOS:如何检测摇动动作?

    我将以下代码添加到我的 appDelegate m void motionBegan UIEventSubtype motion withEvent UIEvent event void motionEnded UIEventSubtype