Upgrade to Pro — share decks privately, control downloads, hide ads and more …

タッチジェスチャーとたたかう

 タッチジェスチャーとたたかう

Potatotips #61で発表したスライドです!!

https://potatotips.connpass.com/event/127296/

iPhone6sから追加された「エッジプレス」機能がアプリ内の操作と喧嘩した話。
今は和解しました。

拙作アプリ「パズル&モナーク」
https://apple.co/2IvHZID

Blog
http://blog.livedoor.jp/tek_nishi/

Nobuyuki Nishiyama

May 15, 2019
Tweet

More Decks by Nobuyuki Nishiyama

Other Decks in Programming

Transcript

  1. 1PUBUPUJQT
    λονδΣενϟʔͱ͔ͨͨ͏
    ΅ͬͪήʔϜσϕϩού
    ੢ࢁ৴ߦ

    View Slide

  2. w"QQ4UPSFͷήʔϜλϒʹ
    ͯऔΓ্͛ΒΕͨ
    ύζϞφॱௐͰ͢

    View Slide

  3. wʮ࣌ʑύωϧ͕ஔ͚ͳ͍ʯ
    wϦϦʔεͨ͠ΞϓϦʹ͜Μͳۤ৘͕ಧ͘
    ͜ͱͷൃ୺

    View Slide

  4. wύωϧΛஔ͘ૢ࡞͸ʮ௕ԡ͠ʯ
    w͜Ε·Ͱͦ͏͍ͬͨใࠂ͸Ұ੾ແ͠
    ·ͬͨ͘ࢥ͍౰ͨΒͳ͍

    View Slide

  5. wॲཧ଎౓͕མͪͯೖྗΛऔΓ͜΅͍ͯ͠Δʁ
    w࣮ػଆͷෆ۩߹ʁ
    ਖ਼௚Θ͔ΒΜ

    View Slide

  6. wΞϓϦͷಈ࡞ݕূதʹෆ۩߹͕࠶ݱͨ͠ʂ
    ͦͷޙ

    View Slide

  7. w͔֬ʹը໘୺ʹύωϧ͕͋Δ࣌ʹԡͮ͠Β͍ʂ
    Կ͕໰୊ͳͷ͔ʜ

    View Slide

  8. wͳΜͱ·͔͞ͷʮύζϧˍυϥΰϯʯͰ΋໰୊
    ʹͳ͍ͬͯͨ
    w େखΞϓϦͱಉ͡໰୊ʹૺ۰ͯ͠ޫӫͰ͢ʂ
    ͱΓ͋͑ͣάάͬͯΈΔ

    View Slide

  9. wJ1IPOFT͔Βಋೖ͞ΕͨΤοδϓϨε͕ݪҼͳͷͩ
    ͱ͍͏ͱ͜·Ͱ௫Ή
    w IUUQTEFMBZNBOJBDPNJQIPOFJQIPOFTFEHFQSFTT
    ͞Βʹૢ࡞͸ਐΉ

    View Slide

  10. wΧϝϥΛௐ੔͓ͯ͠஡Λ୙͢
    w ͳΔ΂͘ύωϧ͕ը໘୺ʹҐஔ͠ͳ͍Α͏ʹʜ
    ͱΓ͋͑ͣ

    View Slide

  11. w;ͱࢥ͍͖ͭͰΤοδϓϨεʹ͍ͭͯάάͬͯΈ
    ͨ
    ͦͯ࣌͠͸ྲྀΕʜ

    View Slide

  12. wIUUQTTUBDLPWFSqPXDPNRVFTUJPOT
    UPVDIFTCFHBOXJUIFWFOUJTEFMBZFEBUMFGUFEHFPG
    TDSFFO
    ͋ͬʜʂ

    View Slide

  13. wUIGestureRecognizerʂ͓લ͔ʂʂʂʂ
    w εϫΠϓૢ࡞ͱ͔৭ʑίϯτϩʔϧ͍ͯ͠Δ࢓૊Έ
    ͍ͭʹ൜ਓൃݟʂ

    View Slide

  14. ࣮ͬͦ͘͞૷
    void disable(UIView* view)
    {
    // UIWindowを取り出す
    auto* window = view.window;
    // ジェスチャーは2つあるらしい
    for (int i = 0; i < 2; ++i)
    {
    // UIGestureRecognizerを取り出す
    auto* gr = view.gestureRecognizers[i];
    // 「タッチ開始イベントの遅延」をOFF
    gr.delaysTouchesBegan = false;
    }
    }

    View Slide

  15. Ͱ͖·ͨ͠ʂ
    1PUBUPUJQT

    View Slide

  16. ͍͞͝ʹ
    1PUBUPUJQT

    View Slide

  17. wIUUQTHJUIVCDPNUFLOJTIJ1V[[MF"OE.POBSDI
    ιʔείʔυެ։தʂ

    View Slide

  18. w5XJUUFS!NJOHBNF
    w'BDFCPPLNJOHBNF
    w(JU)VCUFLOJTIJ
    Ҏ্ɺʮλονδΣενϟʔͱ͔ͨͨ͏ʯͰͨ͠ʂ
    ΞϓϦ޷ධ഑৴தʂ

    View Slide