如何使用 Storyboard 继承 UICollectionViewFlowLayout

Posted

技术标签:

【中文标题】如何使用 Storyboard 继承 UICollectionViewFlowLayout【英文标题】:How to Subclass UICollectionViewFlowLayout with Storyboard 【发布时间】:2013-02-21 07:26:59 【问题描述】:

我正在使用带有 Storyboard 的 UICollectionView 并尝试将 UICollectionViewFlowLayout 子类化,但它似乎不起作用。

我已经创建了子类CollectionViewFlowLayout

#import "CollectionViewFlowLayout.h"

@implementation CollectionViewFlowLayout

-(id)init

    NSLog(@"Init of CollectionViewFlowLayout");

    if (!(self = [super init])) return nil;
    self.itemSize = CGSizeMake(250, 250);
    return self;


@end

在 Storyboard 的 Identity Inspector 中,我更改了流布局的类:

但是当我保存/构建/运行时,itemSize 没有设置为 250,并且我的 NSLog 没有被输出。

我在examples such as this 中看到您可以在collectionView 控制器中设置布局,但我认为如果您在情节提要中进行设置,则没有必要这样做。

【问题讨论】:

【参考方案1】:

从情节提要加载的对象使用initWithCoder:,而不是init。将您的设置代码移到那里,或者有一个从每个初始化程序调用的通用方法。

【讨论】:

以上是关于如何使用 Storyboard 继承 UICollectionViewFlowLayout的主要内容,如果未能解决你的问题,请参考以下文章

StoryBoard 处理继承的视图控制器

从 Storyboard 继承 ViewController

如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?

iOS开发 纯代码创建UICollectionView

工程日记之HelloSlide:Swift自定义可视化组件的方法(继承UIView和在StoryBoard中设置)

如何使用Storyboard创建UIPageViewController