Требования к операционной системе: 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
Заголовок первого блока: Значение, Данные департаментов
региональной экономики и программ, ВАЛОВОЙ РЕГИОНАЛЬНЫЙ ПРОДУКТ
Через пять секунд полноэкранный индикатор загрузки будет скрыт, а в консоли среды разработки будет выведен заголовок панели элементов управления или уведомление о том, что он не определён:
Заголовок панели элементов управления не определён
См. также: