Почему мой UIView не является «родителем» моего UIImageView? - PullRequest
0 голосов
/ 01 апреля 2012

У меня есть mainUIView, в котором есть настроенный UIImageView (названный myImageView).

В файле myImageView.h я объявил:

@property (strong, nonatomic) mainViewController *viewController;

, а в файле myImageView.m у меня есть следующие коды:

        self.viewController = self.parent;

ThisСтроки выдают сообщение об ошибке: Свойство 'parent' не найдено для объекта типа myImageView.

Я думал, что размещение myImageView внутри mainUIView создаст стандартное отношение parent-and-sub, ноочевидно это не так.

В основной раскадровке я пытался перетащить myImageView с помощью Ctrl-перетаскивания в mainViewController, но у меня не появляется никаких опций для выбора делегата.

Может кто-нибудь дать мне объяснение этого, пожалуйста?Я немного растерялся ... Большое спасибо!

1 Ответ

1 голос
/ 01 апреля 2012

Поскольку ваш myImageView является UIView, он не имеет родителя. Просто есть супер-представление, которое снова является UIView. По сути, представление не знает своего контроллера. Хотя контроллер может реализовать делегат представления для получения информации о событиях. Таким образом, ваш AppDelegate знает ваш ViewController, а контроллер - ваш ImageView. Окно AppDelegates знает представление вашего контроллера, которое, скорее всего, будет содержать всю иерархию представлений (кроме AlertViews, HUDViews, модальных представлений и simmilar ...).

Я думаю, что то, что вы хотите сделать, лучше всего работает при реализации шаблона делегата. (см. Apple Docs)

...