2016-12-12 15 views
2

私のアプリで触覚を使用したいと思います。私はUISelectionFeedbackGeneratorを使用していますが、動作しません。私はこの2行は魔法を行う必要がありますiOSの10で、実際のiPhone 7上でテストしています - しかし、何も起こりません:iPhone 7でUISelectionFeedbackGenerator()が動作しない

let generator = UISelectionFeedbackGenerator() 
generator.selectionChanged() 
+0

これにはどのような解決策がありますか? – shelll

+0

私はここで同じ船に乗っています。私のビューコントローラの1つでは、触覚フィードバックは機能しません。別の方法では、それは準備なしでも機能する。私の人生は何が起こっているのか理解できません。 – ullstrm

答えて

0

あなたがselectionChanged()を呼び出す前に、generator.prepare()を呼び出す必要があります。これは、タプティックエンジンを起こす。しかし、数秒でアクティブになるので、selectionChanged()に電話をかけようとすれば、もう一度prepare()を確認してください。ここで

let generator = UISelectionFeedbackGenerator() 
generator.prepare() 
generator.selectionChanged() 
+0

私はprepare()も試みたと確信しています。もう一度試して報告します。ありがとう! –

+0

私はそれを働かせない。私はiOS 9のターゲットを持つアプリケーションをビルドしているので、これらの行を 'if #available(iOS 10.0、*){...}'にラップしています。しかし、私のiPhone 7で動作しない状態のないiOS 10についても、それは私がstackoverflowに投稿する前に私が試していたことも恥ずかしくていた。 –

+0

Odd。あなたは、タプティックスを無効にする電話のレベルのアクセシビリティ設定を持っていますか?あなたは、彼らの触覚を感じていることを確認するために、日付ピッカーを使用したり、アップルの株式アプリでテーブルビューのセルを移動しようとしましたか? – tracicot

0

古いデバイス上で動作するいくつかの選択肢です:

import AudioToolbox 

AudioServicesPlaySystemSound(1519) // Actuate `Peek` feedback (weak boom) 
AudioServicesPlaySystemSound(1520) // Actuate `Pop` feedback (strong boom) 
AudioServicesPlaySystemSound(1521) // Actuate `Nope` feedback (series of three weak booms) 
2

それはAVFoundation(またはおそらくAVCaptureSession)かのように思わ何とか触覚フィードバックをいじっています! AVFoundationがなければ、私の触覚フィードバックが機能します。私がそこに置くとすぐに、それは動作を停止します。

関連する問題