How To Use • Taptic EngineΛ੍ޚ͢ΔͨΊͷΫϥε ‣ UIFeedbackGenerator ‣ UINotificationFeedbackGenerator ‣ UIImpactFeedbackGenerator ‣ UISelectionFeedbackGenerator
How To Use let generator = UISelectionFeedbackGenerator() generator.prepare() generator.selectionChanged() 1. GeneratorΛΠϯελϯεԽ͢Δ 2. prepare() Λݺͼग़͢ (Φϓγϣϯ) 3. selectionChanged()ͰൃՐͤ͞Δ • ͷมԽͷͨͼʹݺΕΔϝιουͰൃಈͤ͞ΔతͰ༻͢Δ
• σϑΥϧτͰFeedback͕࣮͞Ε͍ͯΔඪ४UI͋Δ ‣ UIPickerView ‣ UIRefreshControl ‣ UISwitch ͳͲ • ը໘ऩதԻதൃՐ͞Εͳ͍ [Feedback] trying to activate the feedback engine from a non-main thread, this is unsupported.
When should I use Taptic Engine? • iOS Human Interface Guidelines ʹ Taptic Engine Λ ͬͨϑΟʔυόοΫΛ࣮͢Δ্Ͱͷҙ͕·ͱΊ ΒΕ͍ͯΔ • ͜͜Ͱ͍͏ϑΟʔυόοΫͱɺΞΫγϣϯͷ݁ՌΛ ϢʔβʔʹϑΟʔυόοΫ͢Δखஈͷ͜ͱΛࢦ͢ • Ҏ߱ͦͷҙ༁ͱ࣮ࡍʹ༻͞Ε͍ͯΔΞϓϦͷྫΛ· ͱΊͨ༰Ͱ͋Δ
When should I use Taptic Engine? • Success. ‣ ೖۚղৣͳͲ͕ޭͨ͜͠ͱΛ͑ΔͨΊʹ༻Ͱ͖·͢ɻ • Use haptics judiciously. ‣ ϑΟʔυόοΫશମͷҙຯ͕ബΕͯ͠·͏ͷͰɺଟ༻ආ͚·͠ΐ͏ɻ • In general, provide haptic feedback in response to user-initiated actions. ‣ ϢʔβʔͷΞΫγϣϯʹ߹ΘͤͯϑΟʔυόοΫΛൃੜͤ͞·͠ΐ͏ɻ ҙͷλΠϛϯάͰͷϑΟʔυόοΫҙࣝΛதஅͤ͞ɺޡղΛੜΈ· ͢ɻ
When should I use Taptic Engine? • Don’t redefine feedback types. ‣ ϑΟʔυόοΫλΠϓҙਤͲ͓Γʹ༻͍ͯͩ͘͠͞ɻλεΫ͕ޭ͠ ͨ͜ͱΛϢʔβʔʹ௨͢Δʹɺ UINotificationFeedbackGenerator ͷ UINotificationFeedbackType.success Λ༻͠ɺͦΕҎ֎ͷͷ Θͳ͍Α͏ʹ͠·͠ΐ͏ɻ
When should I use Taptic Engine? • Don’t redefine feedback types. ‣ ϑΟʔυόοΫλΠϓҙਤͲ͓Γʹ༻͍ͯͩ͘͠͞ɻλεΫ͕ޭ͠ ͨ͜ͱΛϢʔβʔʹ௨͢Δʹɺ UINotificationFeedbackGenerator ͷ UINotificationFeedbackType.success Λ༻͠ɺͦΕҎ֎ͷͷ Θͳ͍Α͏ʹ͠·͠ΐ͏ɻ • Fine tune your visual experience for haptics. ‣ ࢹ֮ͱ৮֮ͷϑΟʔυόοΫΛಉ࣌ʹൃੜͤ͞Δ͜ͱͰΞΫγϣϯͱ݁Ռ ͷΑΓਂ͍ͭͳ͕ΓΛఏڙ͠·͠ΐ͏ɻ
When should I use Taptic Engine? • Don’t redefine feedback types. ‣ ϑΟʔυόοΫλΠϓҙਤͲ͓Γʹ༻͍ͯͩ͘͠͞ɻλεΫ͕ޭ͠ ͨ͜ͱΛϢʔβʔʹ௨͢Δʹɺ UINotificationFeedbackGenerator ͷ UINotificationFeedbackType.success Λ༻͠ɺͦΕҎ֎ͷͷ Θͳ͍Α͏ʹ͠·͠ΐ͏ɻ • Fine tune your visual experience for haptics. ‣ ࢹ֮ͱ৮֮ͷϑΟʔυόοΫΛಉ࣌ʹൃੜͤ͞Δ͜ͱͰΞΫγϣϯͱ݁Ռ ͷΑΓਂ͍ͭͳ͕ΓΛఏڙ͠·͠ΐ͏ɻ • Don’t rely on a single mode of communication. ‣ શͯͷ͕Haptic FeedbackΛαϙʔτ͍ͯ͠ΔΘ͚Ͱͳ͍ͷͰɺΞ Ϋγϣϯͷ݁ՌΛHaptic Feedback͚ͩʹ͍͚ͯ͠·ͤΜɻ
When should I use Taptic Engine? • Use haptics when visual feedback may be occluded. ‣ ΦϒδΣΫτΛεΫϦʔϯ্ͷॴʹυϥοά͢Δͱ͖ͳͲɺ ࢦͰӅΕͯ͠·͍·͢ɻಛఆͷॴʹ౸ୡͨ͠ͱ͖ʹϢʔ βʔʹHaptic FeedbackͰ௨͢Δ͜ͱΛݕ౼͍ͯͩ͘͠͞ɻ
When should I use Taptic Engine? • Use haptics when visual feedback may be occluded. ‣ ΦϒδΣΫτΛεΫϦʔϯ্ͷॴʹυϥοά͢Δͱ͖ͳͲɺ ࢦͰӅΕͯ͠·͍·͢ɻಛఆͷॴʹ౸ୡͨ͠ͱ͖ʹϢʔ βʔʹHaptic FeedbackͰ௨͢Δ͜ͱΛݕ౼͍ͯͩ͘͠͞ɻ • Synchronize haptics with accompanying sound. ‣ Haptic FeedbackͰԻൃੜ͠·ͤΜɻHaptic Feedbackͱ ಉ࣌ʹԻ͕ඞཁͰ͋Εɺ֤ࣗͰԻಉظॲཧΛ࣮͢Δඞ ཁ͕͋Γ·͢ɻ