Time Touch Events Take в iPhone SDK

Чудя се как бих измерил времето между докосванията в изглед в iPhone SDK. Знам, че първото задействано събитие е touchesBegan: и след това последното задействано е touchesEnded:, но просто не знам как бих измерил времето, за което потребителят е докоснал изгледа. Например, ако задържат своя търсач в изгледа за 2 секунди, той автоматично ще задейства функция twoSeconds: или нещо подобно.

Благодаря за всяка помощ!


person PF1    schedule 28.08.2009    source източник


Отговори (1)


Използвайте [NSDate date], за да получите текущата дата и час. Съхранявайте го в touchesBegan: и извличайте продължителността в touchesEnded: като това

NSTimeInterval duration = [[NSDate date] timeIntervalSinceDate:beganDate];

Вече ще имате продължителността между събитията, измерена в секунди в length.

person PeyloW    schedule 28.08.2009
comment
Здравейте PeyloW: Благодаря за отговора. Това звучи като чудесен начин за измерване на времето. Въпреки това, в допълнение към това, ще има ли някакъв начин за автоматично изпълнение на задача, ако потребителят е докоснал вътре в изгледа за определен период от време, без да е необходимо да освобождава своя търсач. - person PF1; 30.08.2009
comment
Можете да извикате performSelector:withObject:afterDelay: в touchesBegan: и след това да направите cancelPreviousPerformRequestWithTarget: в touchesEnded:. - person PeyloW; 30.08.2009