Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере создаётся и отображается контейнер панели измерений. После запуска примера выполняются следующие операции:
создаётся и устанавливается заголовок контейнера панели измерений;
создаётся и устанавливается разделитель двух представлений данных;
создаётся и устанавливается панель измерений;
создаётся и устанавливается контейнер панели измерений.
Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:
// Создаёт контроллер панели измерений
-(MADimensionsPanelTableViewController *) createDimensionsPanelTableViewController {
// Получаем контроллер для работы с экспресс-отчётом
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController *)m_controller;
// Получаем делегат для работы с экспресс-отчётом
EAReportDelegateImpl *delegate = [contr delegate];
// Получаем объект, представляющий собой основу для построения таблиц с данными
SPPLPivot pivot = PPLPivot::pivot([delegate olapReport]);
// Создаём делегат панели измерений
MADimensionsPanelTableViewDelegate *panelDelegate = [[MADimensionsPanelTableViewDelegate alloc] initWithPivot: pivot];
// Создаём источник данных панели измерений
MADimensionsPanelTableViewDataSource *panelDataSource = [[MADimensionsPanelTableViewDataSource alloc] initWithPivot: [panelDelegate pivot]];
// Создаём контроллер для работы с панелью измерений
MADimensionsPanelTableViewController *tableViewCtrl = [MADimensionsPanelTableViewController new];
[tableViewCtrl setPanelDataSource: panelDataSource];
[tableViewCtrl setPanelDelegate: panelDelegate];
return tableViewCtrl;
}
-(void)executeExample {
// Создаём контроллер для работы с контейнером панели измерений
PanelViewController *panelViewCtrl = [PanelViewController new];
// Создаём контейнер панели измерений
PanelView *panelView = (PanelView *)[panelViewCtrl view];
// Создаём контроллер для работы с панелью измерений
MADimensionsPanelTableViewController *tableViewCtrl = [self createDimensionsPanelTableViewController];
// Устанавливаем панель измерений
[panelView setContentView: [tableViewCtrl view]];
// Получаем разделитель двух представлений данных
MASeparatorView *separatorView = [[MASeparatorView alloc] initWithFrame:CGRectZero];
[separatorView setPanelVisible: YES];
// Отображаем верхнюю стрелку на разделителе
[separatorView setUpArrowVisible: YES];
// Отображаем нижнюю стрелку на разделителе
[separatorView setDownArrowVisible: YES];
// Устанавливаем разделитель двух представлений данных для контейнера
[panelView setSeparatorView: separatorView];
// Создаём заголовок для контейнера панели измерений
MATopView *topView = [[MATopView alloc] initWithFrame: CGRectZero];
// Устанавливаем текст заголовка
[[topView titleLabel] setText: @"Prognoz"];
// Устанавливаем заголовок
[panelView setTopView: topView];
// Загружаем дочерние представления данных у контейнера панели измерений
[panelView layoutSubviews];
// Отображаем контейнер панели измерений
[self showViewControllerInNavigationController: panelViewCtrl];
// Создаём контейнер панели измерений
UIView *envView = [UIView new];
// Устанавливаем его
[panelView setEnvironmentView: envView];
// Устанавливаем цвет заливки контейнера панели измерений
[panelViewCtrl setEnvironmentColor: [UIColor colorWithRed:0 green:1 blue:1 alpha:0.15]];
[envView setBackgroundColor: [panelViewCtrl environmentColor]];
}
В результате выполнения примера на экране мобильного устройства был отображён контейнер панели измерений с заливкой зелёного цвета. Он состоит из заголовка, панели измерений и разделителя. На разделителе представлений данных отображены верхняя и нижняя стрелки:

См. также: