Jak Instagram sprawił, że 3D Touch pop na iPhone'a 6s?
Jeśli szukasz aplikacji, która zachwyci Cię rewolucyjnymi możliwościami 3D Touch, nie szukaj dalej niż Instagram. Aplikacja do udostępniania zdjęć już stworzyła nowe, świetne interakcje z 3D Touch, umożliwiając użytkownikom podglądanie zdjęć i informacji o profilu za pomocą trzech nowych interfejsów API dostarczonych przez Apple.
Od tygodnia mamy iPhone'y 3D Touch, ale inżynierom Instagrama udało się już ustawić wysoką poprzeczkę, do której aspirują inne aplikacje. W nowym poście na blogu inżynierskim firma daje programistom wgląd w sposób, w jaki wdrożyli nowe interfejsy API 3D Touch, tak bezproblemowo i pokaż, jak inne aplikacje mogą sprawić, że 3D Touch jest znacznie potężniejszy niż tylko wersja z 2015 roku, którą można kliknąć prawym przyciskiem myszy.
Oto niektóre z zebranych przez nich wskazówek:
Szybkie akcje:
Dzięki nowemu interfejsowi API Quick Action API 3D Touch programiści mogą dodawać skróty do ekranu głównego.
Ryan Nystrom, inżynier oprogramowania na Instagramie pokazuje, że wdrożenie jest bardzo proste.„Wszystko, co musisz zrobić, to utworzyć tablicę UIApplicationShortcutItem i dodać je do delegata aplikacji”, napisał Nystrom w poście na blogu firmy. „Każdy element ma ciąg **type** i opcjonalną ikonę UIApplicationShortcutIcon”.
Peeks
Możliwość podglądania zdjęć bez angażowania się w ładowanie całej rzeczy jest świetna. Prawdopodobnie zaoszczędzi ci to tylko około jednej sekundy, ale ten czas sumuje się, jeśli oglądasz 15 lub więcej zdjęć podczas przeglądania zakładki Eksploruj.
Aby utworzyć podgląd dla małych zdjęć i filmów, Instagram użył delegata API Peek i Pop o nazwie UIViewControllerPreviewingDelegate, który jest zarejestrowany w widoku:
„Na Instagramie po prostu rejestrujemy widok kontrolera, który może odbierać dotknięcia. Gdy wystąpi dotyk 3D, pełnomocnik decyduje, czy istnieje podgląd dowolnego elementu w widoku, który został dotknięty. Jeśli delegat ustali, że podgląd może się wydarzyć, jest również odpowiedzialny za dwie rzeczy: ustawienie prostokąta źródłowego widoku, który jest podglądany, i zwrócenie kontrolera do prezentacji”.
Firma szczegółowo opisała również, w jaki sposób zaimplementowała podgląd profilu dla nagłówków lub za każdym razem, gdy jesteś oznaczony tagiem w komentarzu. Działa podobnie do post-peek:
* Znajdź komórkę, która otrzymała 3D Touch, używając lokalizacji i wyszukaj NSIndexPath
* Konwertuj lokalizację na CGPoint względem widoku tekstu w komórce
* Uzyskaj atrybuty dla NSAttributedString w danym CGPoint
* Jeśli atrybut nazwy użytkownika istnieje, zwróć IGUserPreviewController
Aby dowiedzieć się, jak korzystać z większości interfejsów API Peek i Pop, w tym zrzutów ekranu kodu Instagrama, przejdź do ich inżynieria Tumblr.