Swift je výkonný, intuitivní a široce přijímaný programovací jazyk vyvinutý společností Apple. V této příručce se dále zaměříme na pochopení aspektů Swiftu, konkrétněji na manipulaci a manipulaci s daty tahu ve Swiftu. Informace o tahu se v podstatě skládají z vlastností, které kvantifikují charakteristiky uživatelského vstupu na zařízení s dotykovou obrazovkou.
Jen málo činností je tak zásadních pro mobilní práci s počítačem jako zpracování dotykových událostí. Konceptualizace těchto událostí vyvrcholí konceptem známým jako mrtvice. Povaha tohoto rámce umožňuje programátorům extrahovat a překládat tahy na příkazy. Swift v této kapacitě vyniká a je jedním z důvodů, proč je v oboru vážený.
import UIKit class ViewController: UIViewController { override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { super.touchesMoved(touches, with: event) let touch = touches.first print("Stroke location : (touch?.location(in: self.view) ?? CGPoint.zero)") } }
Předchozí kód předvádí jednoduchou operaci zdvihu. Zde používáme ke sledování tahů metodu `touchesMoved`. Při pohybu jsou souřadnice zaznamenány a vytištěny.
Kopání Deeper do Strokes ve Swiftu
Chování tahu je regulováno rámcem UIKit, který rozšiřuje možnosti třídy UIResponder. Swift poskytuje řadu metod (`touchesBegan`, `touchesMoved`, `touchesEnded`, `touchesCancelled`), které jsou volány vždy, když dojde k události dotyku. Tyto metody můžete přepsat ve své vlastní podtřídě `UIResponder`, abyste zpracovávali dotykové události sami.
Jedno objekt `UITouch` zapouzdřuje dotyková data pro konkrétní událost, včetně vlastností souvisejících s polohou, časem, fází atd. Prostřednictvím těchto dotykových událostí a souvisejících atributů manipulujeme s daty tahu a vytváříme bohaté uživatelské rozhraní.
Síla základní grafiky a UIBezierPath
V kombinaci s frameworkem Core Graphics a třídou UIBezierPath umožňuje programování Swift složitější aplikace, zejména v oblasti manipulace s tahy.
class SimplePathDrawView: UIView { var path = UIBezierPath() override func draw(_ rect: CGRect) { UIColor.black.setStroke() path.stroke() } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { path.move(to: touches.first!.location(in: self)) } override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { path.addLine(to: touches.first!.location(in: self)) self.setNeedsDisplay() } }
V tomto fragment kódu`UIBezierPath` se používá k definování cesty tahu, která se nakreslí v UIView. Zobrazení zpracovává události dotyku a aktualizuje cestu, když uživatel pohybuje prstem po obrazovce. V případě potřeby je pohled požádán, aby se překreslil a efektivně zachytil a zpracoval data zdvihu.
Programovou integrací těchto funkcí nabízí Swift bohaté možnosti dynamické manipulace s daty zdvihů. Vývojáři tak mají možnost poskytovat jedinečné uživatelské zkušenosti. V syntéze technologie a designu se zdatnost Swiftu ukazuje jako neocenitelný nástroj při vytváření aplikací, se kterými uživatelé rádi pracují.