Как избежать отмененных соревнований?
-
26-10-2019 - |
Вопрос
У меня есть два просмотра один под другим. Я поворачиваю приведенное ниже вид с помощью сенсорного представления о виде. Пытаясь сделать удары, отменено событие отмены прикосновения к событию Touches Endered. В то время как перемещение пальцев началось, и прикосновения к перемещению событий вызываются, а затем касается, что событие Endered называется последним (в основном). Но иногда при попытке двигаться медленно, прикосновения отменено событие называется остановкой событий прикосновения. Так что я не мог вращать вид с медленной скоростью. В чем проблема? Как избежать отмененных соревнований?
Примечание: я рисую несколько графиков в представлениях, используя Core Plot Lib.
Решение
Если вы используете какие -либо UIGestureRecognizers
Они автоматически отменяют прикосновения к другим взглядам, когда узнают свой жест. Вы можете выключить это поведение с cancelsTouchesInView
Собственность распознавателя.
Другие советы
Если вы не используете Uigesturereconizer Directly, имейте в виду, что имущество GesturereCognizers of UITouch. У меня такая же проблема, и с этим кодом я решаю ее:
if (event.type == UIEventTypeTouches)
{
NSSet* tmpTouches = [event touchesForView:m_PhotoView];
if ([tmpTouches count] == 2)
{
UITouch *tmpTouch1 = [[tmpTouches allObjects] objectAtIndex:0];
UITouch *tmpTouch2 = [[tmpTouches allObjects] objectAtIndex:1];
if ((tmpTouch1 != nil)&&(tmpTouch2 != nil))
{
UIGestureRecognizer * tmpG;
if ([tmpTouch1.gestureRecognizers count] > 0)
{
tmpG = [tmpTouch1.gestureRecognizers objectAtIndex:0];
tmpG.cancelsTouchesInView = NO;
}
if ([tmpTouch2.gestureRecognizers count] > 0)
{
tmpG = [tmpTouch2.gestureRecognizers objectAtIndex:0];
tmpG.cancelsTouchesInView = NO;
}
// Code ...
}
}
}
Обратите внимание на Uiswipegesturerecognizer. Это вызвало проблему для меня и решается, как только мы установим
[recognizer setCancelsTouchesInView:FALSE];
Если прокрутка просмотра вовлечен, Снимите его контент собственности касается Может отменить на прокрутке в Storybord.