Добавьте CollectionViewController как ChildViewController в UIView

Я пытаюсь создать представление, которое содержит три подзапроса с другим контроллером представления ( UICollectionViewController , pageviewcontroller и uiviewcontroller ). Я могу добавить uiviewcontroller но другие два контроллера не разрешены. Я получаю эту ошибку …..

Несовместимые типы указателей, отправляющие 'UICollectionView * __ weak' в параметр типа 'UIViewController *'

Является ли их каким-либо способом добавить этот контроллер в мой подзаголовок?

Я не знаю, почему вы хотите добавить ViewControllers внутри представления, я никогда не нуждаюсь в нем. Я пытался это сделать, если может помочь вам, это мой код:

ViewController.h

 #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (nonatomic, retain) UICollectionViewController *collectionViewController; @property (nonatomic, retain) UIPageViewController *pageViewController; @property (nonatomic, retain) UIViewController *simpleViewController; @end 

ViewController.m

 #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize collectionViewController; @synthesize pageViewController; @synthesize simpleViewController; - (void)viewDidLoad { [super viewDidLoad]; UICollectionViewLayout *layout = [[UICollectionViewLayout alloc] init]; collectionViewController = [[UICollectionViewController alloc] initWithCollectionViewLayout:layout]; pageViewController = [[UIPageViewController alloc] init]; simpleViewController = [[UIViewController alloc] init]; // Do your stuff with this controllers [self.view addSubview:collectionViewController.view]; [self.view addSubview:pageViewController.view]; [self.view addSubview:simpleViewController.view]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end 

Вы не добавляете контроллеры представлений в представления. Вы добавляете представления к представлениям (как subviews) и, что реже, к контроллерам (как к дочерним контроллерам).

Подумайте о них как о двух параллельных иерархиях: данный ControllerA который управляет представлением ViewA , вы хотите сделать ControllerB дочерним контроллером ControllerA таким, чтобы он был View, ViewB является ViewA .

Смотрите видео WWDC 2011 : «Реализация UIViewController Containment»

Interesting Posts

AVAssetExportSession Не удается создать файл Ошибка -12115

Как кэшировать изображения только на диске с помощью Kingfisher?

Пользовательский init для UIViewController в Swift с настройкой интерфейса в раскадровке

Циклический массив и выборка данных из Core-Data

Цель C: Отправка аргументов методу, вызванному UIButton

Различные раскадровки для разных устройств в Xcode 6

Вставка видео youtube в UIView / UIWebView

Недостаток сообщения о сбое

iOS 7 и Helvetica Neue UltraLight: используйте по умолчанию для более старых версий iOS

Невозможно создать новый идентификатор клиента (для google plus signin в iOS sdk)

Отключите клавиатуру с помощью MULTIPLE UITextFields?

Как создать частный каталог внутри каталога библиотеки и указать имя идентификатора пакета приложения?

Снимки UIViewViewAfterScreenUpdates :, определить, должно ли afterScreenUpdates быть ДА

Подключитесь к MySQL непосредственно из приложения iPad (а не через PHP и т. Д.)

Написание нескольких значений характеристик низкой энергии Bluetooth с ответом

Давайте будем гением компьютера.