Свајп је покрет превлачења прстом по екрану, који је постао један од основних начина интеракције у мобилним интерфејсима. Од једноставног листања фотографија до брисања е-поште, свајп је заменио многе дугме и учинио управљање природнијим. Према Apple Human Interface Guidelines (2024), покрет превлачења је други по учесталости коришћења након додира, чинећи 22% свих интеракција у мобилним апликацијама.
Главно
Свајп (swipe) је покрет којим корисник превлачи прстом по екрану у одређеном смеру, покрећући акцију. За разлику од додира (кратког додира), свајп подразумева покрет и контакт са екраном током целог покрета.
Историја свајпа почела је са првим iPhone-ом 2007. године — покрет откључавања „slide to unlock” постао је знак препознавања мобилних интерфејса. Данас се свајп користи у хиљадама апликација за навигацију, управљање садржајем и организацију информација.
Према UX Planet (2025), апликације са управљањем покретима (укључујући свајп) показују 18% већу заинтересованост корисника. Свајп се доживљава као природније дејство у поређењу са притиском дугмета, јер имитира физичко премештање предмета.
Основни параметри који одређују да ли је покрет свајп: минимална удаљеност (обично 30–50 пиксела), максимално одступање од праве линије (не више од 15–20 степени) и максимално трајање контакта (до 500 ms). Ако прст задржи на екрану дуже, покрет се класификује као превлачење (drag) или дуго притискање (long press).
Према смеру кретања свајпови се деле на четири основна типа: лево, десно, горе и доле. Сваки тип има своју намену и контекст коришћења.
| Тип свајпа | Акција | Примјер коришћења |
|---|---|---|
| Лево | Брисање, архивирање, сакривање | Брисање е-поште у Mail, сакривање у Tinder |
| Десно | Потврда, преглед | Лајк у Tinder, ознака „Прочитано” |
| Горе | Ажурирање, затварање | Pull-to-refresh, свајп за затварање панела |
| Доле | Навигација назад, отварање | Свајп надоле за повратак у iOS, Notification Center |
Хоризонтални свајпови (лево/десно) најчешће се користе за управљање појединачним елементима — брисање, архивирање, листање. Вертикални свајпови (горе/доле) — за навигацију између екрана и ажурирање садржаја. Према Material Design Guidelines (2024), хоризонтални свајп је згоднији за десноруке: покрет улево палцем је природнији на десној руци.
Свајпови са два и три прста користе се за напредне радње. Са два прста — пребацивање између радних површина на iPad-у, поништавање радње (three-finger swipe). Са три прста — снимање екрана на неким уређајима. Међутим, вишепрсти покрети су мање интуитивни и захтевају учење корисника.
На iOS-у управљање покретима се заснива на UIGestureRecognizer — апстрактној класи која анализира низ догађаја додира и одређује да ли одговара одређеном покрету.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let swipeLeft = UISwipeGestureRecognizer(
target: self,
action: #selector(handleSwipe)
)
swipeLeft.direction = .left
view.addGestureRecognizer(swipeLeft)
}
@objc func handleSwipe(sender: UISwipeGestureRecognizer) {
print("Превуци лево")
}
}
UISwipeGestureRecognizer подржава подешавање смера (direction) и броја прстију (numberOfTouchesRequired). Подразумевано је потребан један прст и смер надесно. За одређивање других смерова потребно је експлицитно навести direction: .left, .up, .down.
API вишег нивоа — UICollectionViewLayout са подршком за swipe акције. Почевши од iOS 11, табеле и колекције подржавају уграђене свајп акције кроз UISwipeActionsConfiguration, што омогућава додавање дугмића за брисање или архивирање без ручног управљања покретима.
На Android-у управљање свајповима се обавља кроз GestureDetector — класу која анализира MotionEvents и позива одговарајуће callback методе.
class SwipeActivity : AppCompatActivity() {
private val swipeThreshold = 100
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
override fun onFling(
e1: MotionEvent, e2: MotionEvent,
velocityX: Float, velocityY: Float
): Boolean {
val dx = e2.x - e1.x
if (dx > swipeThreshold) {
println("Превуци десно")
}
return true
}
})
}
}
Метод onFling у GestureDetector-у се позива када корисник брзо превуче прстом по екрану. Он добија почетне и крајње координате (e1, e2) и брзину покрета (velocityX, velocityY). За одређивање смера пореди се разлика координата на X или Y оси.
AndroidX библиотека пружа погоднији API: ViewCompat.setSwipeRefreshLayout за pull-to-refresh, RecyclerView са ItemTouchHelper за свајп акције у листама. ItemTouchHelper омогућава додавање свајп функционалности са визуелном повратном спрегом — иконицом, бојом позадине и анимацијом.
У веб развоју за управљање свајповима користе се догађаји Touch Events API (touchstart, touchmove, touchend) и библиотеке помоћнице као што су Hammer.js или Swiper.js.
let startX = 0;
let startY = 0;
const threshold = 50;
element.addEventListener("touchstart", (e) => {
startX = e.touches[0].clientX;
startY = e.touches[0].clientY;
});
element.addEventListener("touchend", (e) => {
const dx = e.changedTouches[0].clientX - startX;
const dy = e.changedTouches[0].clientY - startY;
if (Math.abs(dx) > threshold) {
console.log(dx > 0 ? "Превуци десно" : "Превуци лево");
}
});
Touch Events API — изворни начин управљања покретима у прегледачу. Догађај touchstart биљежи почетне координате, touchmove прати покрет, touchend одређује резултат. Праг вриједност (threshold) одстрањује случајне додире.
Према Can I Use (2026), Touch Events API подржава 98% прегледача. За сложене сценарије покрета (вишеструки свајпови, препознавање смера) препоручује се коришћење библиотеке Hammer.js, која апстрахира нисконивоско процесирање и пружа разумљив API.
Успешни UX обрасци са свајпом формирали су се годинама еволуције мобилних интерфејса. Њихово коришћење гарантује да ће корисник разумети како покрет ради без додатног учења.
Образац „Swipe to Delete” — најзаступљенији. Свајп улево по елементу листе отвара дугме за брисање. Стандардизован на iOS (SwipeActionsConfiguration) и Android (ItemTouchHelper). Корисници очекују да свајп улево брише или архивира елеменат.
Образац „Swipe to Go Back” — свајп од леве ивице екрана за повратак на претходни екран. Постао је стандард у iOS-у након iPhone X. На Android-у слична навигација ради кроз системски покрет. Важно је да не дође до конфликта са овим системским покретом у сопственим апликацијама.
Образац „Pull to Refresh” — свајп надоле за ажурирање садржаја. Изумио га је Loren Brichter за Tweetie (2008), сада се користи у милионима апликација. Имплементиран у стандардним компонентама обе платформе.
Често постављана питања
Свајп — брзо покретање прста са накнадним одвајањем. Drag — споро премештање са континуираним контактом. Основна разлика је у брзини: код свајпа је важна праг вриједност velocity, код drag-а — само координате покрета.
iOS и Android користе праг од око 30–50 пиксела. За веб апликације препоручује се праг од 40–60 пиксела. Мања вриједност доводи до лажних активација приликом скроловања, већа — захтева превише широке покрете.
Одређујте приоритет покрета према смеру: хоризонтални свајп блокира вертикално скроловање, вертикални свајп блокира хоризонтално скроловање. На iOS-у користите UIScrollViewDelegate метод gestureRecognizerShouldBegin за управљање приоритетом.
За стандардне свајпове (брисање, повратак) учење није потребно — корисници их знају. За јединствене покрете (свајп са три прста, нестандардни смер) потребно је упутство са визуелном демонстрацијом.
Увијек дуплирајте свајп акције дугмићима. Повећајте праг активације на 70–100 пиксела и timeout на 800 ms за кориснике са тремором. Користите VoiceOver/TalkBack за изговарање доступних свајп акција.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође