如何使用.xib中的现有UIView初始化UIViewController

时间:2014-02-04 14:20:47

标签: ios objective-c

想象一下使用UIViewController文件初始化的.xib。现在假设这个.xib包含subview,它是UICollectionView个对象。

如何使用此UICollectionViewController实例初始化UICollectionView实例?

我试过了:

@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    MyUICollectionViewControllerSubclass *controller = [[MyUICollectionViewControllerSubclass alloc] initWithNibName:nil bundle:nil]; //no matching .xib
    controller.collectionView = self.collectionView;

    [self addChildViewController:controller]; [controller didMoveToParentViewController:self];
}

但出于某种原因MyUICollectionViewControllerSubclass甚至从未触发viewDidLoadloadView

1 个答案:

答案 0 :(得分:0)

UICollectionViewController有:

@property (nonatomic, retain) UICollectionView *collectionView;

因此,在创建实例后,您可以将collectionView属性显式设置为子视图(您需要从插座/标记/子视图迭代中获取(最好)引用。