Отображение панели элементов управления

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

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

Описание

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

Исходный код

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

// Выполняем пользовательский пример, размещённый в теле данного метода
-(void) executeExample {
    // Получаем контроллер аналитической панели
    MADashboardReportViewController *dashboard = (MADashboardReportViewController *)m_controller;
    // Получаем объект, предназначенный для работы с аналитической панелью
    id<MADashboardReportViewControllerDelegate> delegate = [dashboard delegate];
    // Выводим путь к ресурсам аналитической панели
    NSArray *resourcePath = [delegate dashboardResourcesPath];
    if ([resourcePath count] > 0) {
        NSLog(@"Путь к ресурсам аналитической панели: %@", (NSString *)[resourcePath objectAtIndex:0]);
    } else {
        NSLog(@"Ресурсы не определены");
    }
    // Получаем составной блок аналитической панели
    NSMutableDictionary *compositeBlock = [[dashboard report] compositeBlocks];
    if ([compositeBlock count] > 0) {
        APCompositeBlock  *block =[compositeBlock allValues][0];
        // Получаем заголовок первого блока аналитической панели
        NSString *blockTitle = [[dashboard report] titleForCompositeBlock:[block key]];
        NSLog(@"Заголовок первого блока: %@", blockTitle);
    } else {
        NSLog(@"Составные блоки аналитической панели отсутствуют");
    }
    // Отображаем полноэкранный индикатор загрузки
    [[dashboard splitViewController] showFullScreenWaiter];
    // Запускаем таймер на 5 секунд
    [NSTimer scheduledTimerWithTimeInterval:5.0f target:self selector:@selector(timerEvent) userInfo:nil repeats:NO];
}
// Обрабатываем событие таймера
-(void) timerEvent {
    // Получаем контроллер аналитической панели
    MADashboardReportViewController *dashboard = (MADashboardReportViewController *) m_controller;
    // Скрываем полноэкранный индикатор загрузки
    [[dashboard splitViewController] hideWaiter];
    // Получаем контроллер представления панели элементов управления
    PanelViewController *panelViewCtrl = [dashboard panelViewController];
    if ([panelViewCtrl title]) {
        NSLog(@"Заголовок панели элементов управления: %@", [panelViewCtrl title]);
    } else {
        NSLog(@"Заголовок панели элементов управления не определён");
    }
}

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

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

Путь к ресурсам аналитической панели: /Users/msn/Library/Application Support/iPhone Simulator/7.1/Applications/BCB0EE15-67C3-4B62-AF08-69FF1CF287A0/Documents/repositories/C6D1F3B71B945F5A5D708E56526E15AF/DASHBOARD_MOB6/DASHBOARD_MOB6.xml

Заголовок первого блока: Значение, Данные департаментов региональной экономики и программ, ВАЛОВОЙ РЕГИОНАЛЬНЫЙ ПРОДУКТ

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

Заголовок панели элементов управления не определён

См. также:

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