Вопрос

У меня есть два просмотра один под другим. Я поворачиваю приведенное ниже вид с помощью сенсорного представления о виде. Пытаясь сделать удары, отменено событие отмены прикосновения к событию 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top