Диаграмма шиноби недоступна внутри прокрутки

В моем приложении отображается область с горизонтальной прокруткой, которая должна содержать две разные диаграммы, реализованные с использованием библиотек Shinobi. Поскольку мое представление прокрутки с разбивкой на страницы создано с использованием ATPagingView, я включил диаграмму, используя следующий код:

- (NSInteger)numberOfPagesInPagingView:(ATPagingView *)pagingView {
    return 2;
}
    - (UIView *)viewForPageInPagingView:(ATPagingView *)pagingView atIndex:(NSInteger)index {

        // Instantiate a tutorial item controller and initialise with the proper content
        self.chartView = [[ShinobiChart alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
        chartView.title = @"example charts";
        chartView.autoresizingMask = ~UIViewAutoresizingNone;
        // Use a number axis for the x axis.
        SChartNumberAxis *xAxis = [[SChartNumberAxis alloc] init];
        chartView.xAxis = xAxis;
        // Use a number axis for the y axis.
        SChartNumberAxis *yAxis = [[SChartNumberAxis alloc] init];
        chartView.yAxis = yAxis;
        chartView.datasource = self;
        chartView.userInteractionEnabled = YES;
        return chartView;
    }

Диаграмма отображается правильно, но когда я пытаюсь ее прокрутить, прокручиваемый контейнер не перемещается, чтобы показать вторую диаграмму. Странно то, что если я изменяю размер диаграммы, чтобы иметь место для взаимодействия с базовым контейнером, или если я выполняю ту же операцию с обычным видом, например:

- (UIView *)viewForPageInPagingView:(ATPagingView *)pagingView atIndex:(NSInteger)index {

        // Instantiate a tutorial item controller and initialise with the proper content
        self.chartView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
        return chartView;
    }

ну.. работает отлично. Похоже, представление ShinobiChart каким-то образом перехватывает событие касания и не перенаправляется в представление прокрутки. Как вы можете заметить, я попытался активировать взаимодействие с пользователем, но это не сработало. Вставка диаграммы в другое представление также не работает.

Есть идеи?


person Claus    schedule 10.06.2013    source источник


Ответы (1)


Нашел возможное решение здесь. По-видимому, это хорошо известная проблема, и единственным обходным путем является отключение жестов панорамирования для представления, содержащего диаграмму.

chartView.gesturePanType = SChartGesturePanTypeNone;

Это источник:

http://www.shinobicontrols.com/forum/shinobicontrols/2013/5/propagate-gesture-events-to-content-controller-(shinobicharts)/

person Claus    schedule 11.06.2013