Ve světě vývoje pro iOS člověk často naráží na nutnost rozlišovat mezi typy zařízení, na kterých aplikace běží. Ať už se jedná o iPhone nebo iPad, může výrazně ovlivnit výkon aplikace, rozložení uživatelského rozhraní (UI) nebo celkovou funkčnost. Pochopení toho, jak zjistit, zda je zařízení iPhone nebo iPad ve vašem kódu Swift, je pro vývojáře zásadní dovedností. Nyní se pojďme ponořit do řešení a krok za krokem vysvětlit kód.
Detekce typu zařízení ve Swiftu
Pro určení typu zařízení (iPhone nebo iPad) nám Swift nabízí šikovnou třídu UIDevice. Jednou z jeho vlastností je userInterfaceIdiom, která vrací styl rozhraní pro použití na aktuálním zařízení.
Ke kontrole, zda je zařízení iPad nebo iPhone, můžeme použít následující kód:
import UIKit let deviceType = UIDevice.current.userInterfaceIdiom switch deviceType { case .phone: print("It's an iPhone") case .pad: print("It's an iPad") default: print("Unrecognized device type") }
V tomto kódu nejprve importujeme UIKit, který nám poskytuje přístup ke třídě UIDevice. Poté načteme idiom rozhraní aktuálního zařízení pomocí UIDevice.current.userInterfaceIdiom. Výsledná hodnota udává, o jaké zařízení se jedná. Zda se jedná o iPhone nebo iPad, zjistíme tak, že tuto hodnotu porovnáme s případy výčtu .phone a .pad v příkazu switch.
Pochopení třídy UIDevice
Třída UIDevice je součástí rámce UIKit a je navržen tak, aby poskytoval reprezentaci aktuálního zařízení. Poskytuje nám mimo jiné vlastnosti jako systemName, systemVersion a userInterfaceIdiom.
UserInterfaceIdiom vlastnost zejména vrací výčet typu UIUserInterfaceIdiom, který představuje styl rozhraní, které se má použít na aktuálním zařízení. Tento výčet má několik případů jako .phone, .pad, .tv, .carPlay a .unspecified, které lze použít k rozlišení mezi typy zařízení.
Další případy použití
Zatímco jsme se soustředili především na identifikaci, zda jde o zařízení iPhone nebo iPad, lze tuto metodu použít i pro jiné účely. Běžným požadavkem v responzivním designu je například přizpůsobení uživatelského rozhraní na základě typu zařízení. Dalo by se upravit velikosti písma, omezení rozvržení nebo dokonce načíst zcela odlišné scénáře podle toho, zda aplikace běží na iPhonu nebo iPadu.
Další možný případ použití zahrnuje poskytování různých funkcí pro různé velikosti zařízení. Některé funkce, které jsou velmi užitečné na větších obrazovkách, jako jsou ovladače s rozděleným zobrazením, nemusí dávat smysl na menších zařízeních, jako jsou iPhone.
Vývoj ve světě IOS je stejně vzrušující jako pochopení nejnovějších trendů módy, kde se na přehlídková mola neustále objevují nové styly a vzhledy. Stejně jako každý kus oděvu, barva a styl má v módě svou historii, každá funkce a knihovna v programování má hlubší porozumění. Jde pouze o to, jak a kdy vytvoříte správné kombinace!