Как получить UIViewController от UIView с помощью кода [дубликат]

9
задан Bartłomiej Semańczyk 26 October 2015 в 08:32
поделиться

1 ответ

UIView по умолчанию не имеет ссылки на UIViewController. Вы можете добавить его в свой подкласс UIView и установить его при создании UIView в UIViewController.

Если вы ищете родительский элемент контроллера представления, каждый UIViewController имеет свойство parentViewController , но если вы хотите получить доступ к нему из UIView, вам нужно сначала добраться до вашего UIViewController.

Вы можете увидеть пример того, как создать ссылку на ваш UIViewController в вашем подклассе UIView и как / где это настроить, в Руководстве по программированию контроллера представления для iPhone , см. Раздел Создание представления программным способом в Определение класса настраиваемого контроллера представления , вот пример, для более подробной информации см. Связанный пример метронома.

 - (void)loadView {

    self.wantsFullScreenLayout = YES;

    MetronomeView *view = [[MetronomeView alloc]
                          initWithFrame:[UIScreen mainScreen].applicationFrame];
    view.metronomeViewController = self;
    self.view = view;
    self.metronomeView = view;

    [view release];
}

В заголовке:

@interface MetronomeView : UIView {
    MetronomeViewController *metronomeViewController;
...
5
ответ дан 4 December 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: