Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере отображается представление, следующее за текущим представлением, и панель действий над отчетом. Через три секунды после выполнения примера отображается панель настроек текущего представления данных. Также в консоль среды разработки выводится следующая информация:
индекс текущего представления;
признак отображения заголовка отчета;
заголовок текущего представления;
количество представлений отчета;
количество кнопок, созданных для выполнения действий над отчётом.
Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:
// Выполняем пользовательский пример
-(void) executeExample {
// Получаем контроллер представления отчета
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController*)m_controller;
// Отображаем представления со следующим индексом после текущего
[contr setDataViewControllerWithIndex: [contr selectedDataViewControllerIndex] + 1];
// Получаем текущее представление
id<MADataViewControllerProtocol> activeController = [contr activeDataViewController];
// Выводим информацию о текущем представлении
NSLog(@"Индекс текущего представления: %i", [MAExpressAnalysisReportViewController selectedIndex]);
NSLog(@"Признак отображения заголовка: %hhd", [contr showTitle]);
NSLog(@"Заголовок текущего представления: %@", [activeController title]);
NSLog(@"Количество представлений отчета: %i", [[contr dataViewControllers] count]);
NSLog(@"Количество кнопок, созданных для выполнения действий над отчётом: %i", [[contr createRightBarButtonItems] count]);
if([contr hasSettingsController]){
// Получаем контроллер настроек отчета
BaseSettingsViewController *reportSettings = (BaseSettingsViewController*)[contr reportSettingsController];
// Получаем ячейку с переключателем
SettingsSwitchTableViewCell *switchCell = [[reportSettings cells] allValues][0];
// Устанавливаем состояние переключателя
[switchCell switchToStateOn:NO];
}
// Отображаем панель действий над отчетом
UIViewController<PopoverContainedControllerProtocol> *reportActionsController = [contr reportActionsController];
CGRect rect = CGRectMake(50, 50, 0, 0);
[contr showInPopover:reportActionsController fromView:[self view] inRect:rect permittedArrowDirections:UIPopoverArrowDirectionAny];
// Запускаем таймер на три секунды
[NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(timerEvent) userInfo:nil repeats:NO];
}
// Обрабатываем событие таймера
- (void) timerEvent{
// Получаем контроллер представления отчета
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController*)m_controller;
// Отображаем панель настроек представления данных
CGRect rect2 = CGRectMake(250, 250, 0, 0);
UIViewController<PopoverContainedControllerProtocol> *viewSettingsController = [contr viewSettingsController];
[contr showInPopover:viewSettingsController fromView:[self view] inRect:rect2 permittedArrowDirections:UIPopoverArrowDirectionAny];
}
В результате выполнения примера будет отображено представление с индексом, следующим за индексом текущего представления, будет отображена панель действий над отчетом:

Также в консоль среды разработки будет выведена информация об отчете:
Индекс текущего представления: 1
Признак отображения заголовка: 1
Заголовок текущего представления: График
Количество представлений отчета: 4
Количество кнопок, созданных для выполнения действий над отчётом: 5
Через три секунды будет отображена панель настроек текущего представления:

См. также: