Получение делегата контроллера представлений в просмотрщике регламентных отчетов

Требования к операционной системе: 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

См. также:

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