Нативная разработка мобильных приложений


 onKeyDown (int, KeyEvent) : вызывается, когда появляется новое событие от  клавиатуры



Download 3,69 Mb.
Pdf ko'rish
bet59/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   55   56   57   58   59   60   61   62   ...   228
Bog'liq
Нативная разработка мобильных приложений

 

onKeyDown
(int,
KeyEvent)
вызывается, когда появляется новое событие от 
клавиатуры;
 

onK
eyUp(int,
KeyEvent)
вызывается, когда появляется событие отпускания 
клавиши;
 

onTrackballEvent(MotionEvent)
: вызывается, когда появляется событие от 
трекбола;
1
Из документации для разработчиков Android (
https://oreil.ly/HvEKV
).


84

Пользовательский ввод
 

onTouchEvent(MotionEvent)
: вызывается, когда появляется событие жеста;
 

onFocusChange
d(boolean,
int,
Rect)
: вызывается, когда представление полу
-
чает или теряет фокус ввода.
Узнать больше об обнаружении жестов можно в замечательном руководстве 
по Android: 
https://orei
l.ly/tFb5K
.
iOS
В 2007 году Apple представила новый iPhone и вместе с ним мультисенсорную 
технологию Multi-Touch. Несмотря на повсеместное распространение этой 
технологии в наши дни, в ту пору возможность выполнять жесты нескольки
-
ми пальцами произвела революцию и изменила пользовательский интерфейс. 
В настоящее время сенсорные методы ввода являются основой взаимодей
-
ствия со смартфоном, но, безусловно, не единственными. В этой главе рассмат-
риваются два наиболее распространенных метода ввода: с помощью касаний 
и клавиатуры. Приступим.
Получение события касания и реакция на него
Поддержка сенсорных событий в iOS является, пожалуй, лучшей в отрасли. Она 
немного изменилась с течением времени, но в основном осталась той же, ко
-
торая появилась в iOS 4. На сегодняшний день она предлагает самый простой 
способ перехвата сенсорных событий. Вот, например, как можно организовать 
получение события касания в представлении с изображением в контроллере 
представления:
class SomeViewController: UIViewController {
var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView = UIImageView(image: ...)
let gestureRecognizer =
UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
gestureRecognizer.numberOfTapsRequired = 1
imageView.addGestureRecognizer(gestureRecognizer)
}
@objc func handleTap(_ gestureRecognizer: UIGestureRecognizer) {
print("Image tapped!")
}
}
Здесь объявляется класс 
SomeViewController
, наследующий 
UIViewController

Большая часть операций в этом классе выполняется внутри 
viewDidLoad()
. Это 
метод жизненного цикла представлений в iOS, и здесь обычно выполняют на
-
стройку представления в контроллере. Загляните в главу 2, где более подробно 
рассказывается о представлениях.
Внутри этого метода настраивается представление с изображением 
ima­
geView
. В следующей строке мы объявляем распознаватель жестов типа 
UITap­


iOS 

85
GestureRecognizer
, которому передаются ссылка 
self
на этот экземпляр и метод 
handleTap(_:)
для вызова этим распознавателем жестов.
После записи значения 
1
в свойство 
numberOfTapsRequired
распознавателя, 
указывающего, что должно распознаваться одно касание, мы добавляем рас
-
познаватель жестов в созданный перед этим экземпляр представления с изо
-
бражением. Это необходимо для включения распознавателя в работу. В нашем 
примере это означает, что всякий раз, когда пользователь коснется представ
-
ления с изображением, это представление просмотрит список своих распо-
знавателей и определит, какой из них следует вызвать для обработки события.
Затем выбранный распознаватель жестов сам вызовет метод 
handleTap(_:)

который мы сами указали.
Обратите внимание, что 
handleTap(_:)
объявлен как метод 
@objc
. Это связано с тем, 
что 
UIGestureR
ecognizer
и его подклассы требуют передачи 
#selector(...)
в ка­
чест ве действия, выполняемого при активации распознавателя жестов.
В нашем примере использован типичный шаблон, который фактически сво
-
дится к двум строкам:
let gestureRecognizer = UITapGestureRecognizer(target: self, 
action: #selector(handleTap(_:)))
imageView.addGestureRecognizer(gestureRecognizer)
Мы создали экземпляр распознавателя жестов и подключили его к пред
-
ставлению.
Распознаватели обладают очень широкими возможностями. Мы поговорим 
о них ниже, в этой же главе, а пока рассмотрим другой основной источник вво
-
да в iOS – клавиатуру.

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   55   56   57   58   59   60   61   62   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish