iOS 带有振动的自定义键盘

Posted

技术标签:

【中文标题】iOS 带有振动的自定义键盘【英文标题】:iOS custom keyboard with vibration 【发布时间】:2014-10-29 20:38:10 【问题描述】:

我正在为 ios 8 开发我的第一个键盘。但是我无法让它在按键时振动。我使用 Swift 语言,并在按钮按下事件上执行:

AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

AudioToolbox.AudioServices 被导入到文件中。

当我按下按钮时,键盘只是挂起一秒钟而没有做任何事情。我感觉不到振动,挂起后出现文字变化。

当我在 viewDidLoad 方法上执行此功能时,振动会起作用。

【问题讨论】:

尝试将请求分派到主队列。我不确定如何快速做到这一点;我得帮你查一下。 【参考方案1】:

试试这个代码。在情节提要中放置一个按钮和文本字段并将它们连接到您的 ViewController。点击按钮,手机应该会振动。输入文本,当您按下返回键时,手机应该会振动。我使用 XCODE 6.1 在装有 iOS 8.1 的 iPhone 5s 上测试了代码。

import UIKit
import AudioToolbox

class ViewController: UIViewController, UITextFieldDelegate 

    @IBAction func buttonTapped(sender: AnyObject) 
        AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))


    

    @IBOutlet weak var textField: UITextField!

    func textFieldShouldReturn(textField: UITextField!) -> Bool 

        textField.resignFirstResponder()
        AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

        return true
    

    override func viewDidLoad() 
        super.viewDidLoad()

        textField.delegate = self
    

【讨论】:

以上是关于iOS 带有振动的自定义键盘的主要内容,如果未能解决你的问题,请参考以下文章

iOS应用程序中的自定义数字键盘问题

使用带有 TextField 的自定义表格视图单元格关闭数字键盘

iOS 8 中的自定义键盘是不是可以使用新字符?

iOS 8 横向纵向模式下的自定义键盘

检查 iOS 8 的自定义键盘中的输入文本是不是为空

带有文本快捷方式的自定义 UIToolbar 的行为与带有 UIButtons 和 UITableViewControllers 的键盘完全不同