Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере описывается получение делегата контроллера представлений в просмотрщике регламентных отчетов.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение регламентного отчёта») следующий код:
// Получаем объект регламентного отчета
MAProceduralReportViewController *proceduralReportController = (MAProceduralReportViewController *)m_controller;
// Получаем массив представлений в регламентном отчете
NSArray *dataViewControllers = [proceduralReportController dataViewControllers];
// Перебираем в цикле представления регламентного отчета
for( UIViewController *controller in dataViewControllers)
{
// Проверяем, является ли текущее представление просмотрщиком листов регламентного отчета
if([controller isMemberOfClass:[MAProceduralReportDataViewController class]])
{
// Получаем представление просмотрщика листов
MAProceduralReportDataViewController *dataViewController =(MAProceduralReportDataViewController *)controller;
// Получаем представление просмотрщика регламентных отчетов
MAProceduralReportDataViewControllerBase *reportDataViewControllerBase = (MAProceduralReportDataViewControllerBase *)dataViewController;
// Получаем делегат контроллера представлений
id<MADataViewControllerDelegate> dataViewControllerBaseDelegate = [reportDataViewControllerBase delegate];
// Проверяем, является ли полученный делегат наследником класса UIViewController
if([dataViewControllerBaseDelegate isKindOfClass:[UIViewController class]])
{
// Производим преобразование делегата к типу UIViewController
UIViewController *reportController = (UIViewController *)dataViewControllerBaseDelegate;
// Получаем границы отображения делегата
CGRect bounds =[[reportController view] bounds];
// Выводим в консоль среды разработки ширину и высоту отображения
NSLog(@"Ширина отображения делегата контроллера представлений в просмотрщике регламентных отчетов: %f", bounds.size.width);
NSLog(@"Высота отображения делегата контроллера представлений в просмотрщике регламентных отчетов: %f", bounds.size.height);
}
}
}
В результате выполнения примера в консоли среды разработки будут выведены размеры отображения полученного делегата:
Ширина отображения делегата контроллера представлений в просмотрщике регламентных отчетов: 768.000000
Высота отображения делегата контроллера представлений в просмотрщике регламентных отчетов: 960.000000
См. также: