обработка на докосвания

обработка на докосвания

Прилагането на клас ViewController на добавете един метод touchesBegan. Този метод се нарича, когато създавате контакт (чрез допир на екрана).

Следваща в списъка touchesMoved метод. В действителност, той не се различава от touchesBegan. Те се различават само по това, touchesMoved не е причинена по време на първоначален контакт, а при преместване на пръст по екрана.

Вие вероятно вече сте се досетили от името, този метод се нарича, когато контактът на почивка пръст от екрана на устройството.

Това е най-интересен метод. Тя се нарича ако контактът не е счупена от потребителя. Това означава, че се допира до разликата причинени някои система събитие (като липса на памет).

Нека да видим как изглежда на практика. Променете класа интерфейс ViewController:

И, съответно, изпълнението му:

Като цяло, ние просто още един UILabel. който е обявен за квадрат. В методите и touchesBegan touchesMoved добавя състояние. Ако гледката, която имаше връзка е нашата квадрат - ние променяме координатите на последния. Сега добавете в ViewController.xib UILabel обект и да го асоциирате с кода на обект квадрат. За тези, които са забравили как да го направя - можете да прочетете тук. Аз привлека вниманието ви към един много важен детайл. Всеки интерфейс обект има имот userInteractionEnabled. ако тя е настроена на NO - то няма да бъде възприето като докоснете обекта. Те ще бъдат дадени по-долу в йерархията на потребителския интерфейс обекти. И обратното, ако обектът на горните свойства е настроен на YES - дублира обекти ще "хване" всички на допир и те не достигат на интерфейса за обекти на по-ниски нива на йерархията. Този имот може да се настрои с помощта на код или дизайнер интерфейс:

Инсталирайте взаимодействие с потребителя Enabled стойност за квадрата, както е показано на картинката. Ако всичко е направено правилно - можете да кликнете върху всяка част на площада - в центъра на това ще бъде преместен в точката на докосване. Същият ефект ще се случи, когато се движите пръста си по ekrnu.

Освен квадратен добавих надписи на данни докосване дисплей не е в конзолата, и графично на екрана. Резултатът от работата може да се види в първата картина.

С оглед изпълнението на въртенето на червени етикети добавите метод проект, който ще се брои за две точки от ъгъла на завъртане (не забравяйте да го декларира в интерфейса на класа):

И ние се използва този метод, за да touchesMoved:

Сега, ако контактите са две - да се изчисли ъгъла на границата между контактите и с помощта на метода на ротационното CGAffineTransformRotate надписа.

Кодът на проекта може да бъде изтеглена от тук.