Работа с контроллерами для выбора способа использования метрик картой и пузырьковой диаграммой

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

В данном примере отображаются представления контроллеров для выбора способа использования метрик картой и пузырьковой диаграммой.

Исходный код

Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:

// Удаляем все дочерние представления окна
NSArray *subviews = [self.view subviews];
for (UIView *subView in subviews) {
    [subView removeFromSuperview];
}
// Получаем контроллер для отображения экспресс-отчёта
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController *)m_controller;
// Получаем делегат для работы с экспресс-отчётом
EAReportDelegateImpl *delegate = [contr delegate];
// Получаем источник данных карты
MapDataViewDatasource *mapDatasource = (MapDataViewDatasource *)[delegate mapDatasource];
// Создаём контроллер для выбора способа использования метрик картой
MAElementDataSourceRoleSelectorViewController *mapElementRoleSelector = [[MAElementDataSourceRoleSelectorViewController alloc] initWithMapDataSource:mapDatasource];
// Устанавливаем ширину представления контроллера
[mapElementRoleSelector setControllerWidth: 200];
// Определяем расположение и отображаем представление контроллера для выбора способа использования метрик картой
UIView *mapView = [mapElementRoleSelector view];
[mapView setFrame:CGRectMake(0, 50, 300, 200)];
// Отображаем представление контроллера для выбора способа использования метрик картой
[self.view addSubview: mapView];
NSLog(@"Количество элементов в меню для выбора способа использования метрик картой: %d", [[mapElementRoleSelector cells] count]);
// Создаём источник данных пузырьковой диаграммы
BubbleDataViewDatasource *bubbleDatasource = (BubbleDataViewDatasource *)[delegate bubbleDatasource];
// Создаём контроллер для выбора способа использования метрик пузырьковой диаграммой
MAElementDataSourceRoleSelectorViewController *bubbleElementRoleSelector = [[MAElementDataSourceRoleSelectorViewController alloc] initWithBubbleDataSource:bubbleDatasource];
// Определяем расположение и отображаем представление контроллера для выбора способа использования метрик пузырьковой диаграммой
UIView *bubbleView = [bubbleElementRoleSelector view];
[bubbleView setFrame:CGRectMake(350, 50, 300, 200)];
[self.view addSubview: bubbleView];
NSLog(@"Количество элементов в меню для выбора способа использования метрик пузырьковой диаграммой: %d", [[bubbleElementRoleSelector cells] count]);

В результате выполнения примера были отображены представления контроллеров для выбора способа использования метрик картой и пузырьковой диаграммой:

В консоли браузера было выведено количество элементов в обоих меню:

Количество элементов в меню для выбора способа использования метрик картой: 2

Количество элементов в меню для выбора способа использования метрик пузырьковой диаграммой: 4

См. также:

Примеры использования компонентов