【问题标题】:In a UICollectionViewFlowLayout, set cell itemSize from Storyboard?在 UICollectionViewFlowLayout 中,从 Storyboard 中设置单元格 itemSize?
【发布时间】:2014-09-28 21:59:32
【问题描述】:

UICollectionViewFlowLayout...

@interface MediumBounce : UICollectionViewFlowLayout
@property (nonatomic, strong) UIDynamicAnimator *animator;
etc

@implementation MediumBounce

-(void)prepareLayout
    {
    [super prepareLayout];
    self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    self.minimumInteritemSpacing = 0;
    self.minimumLineSpacing = 0;
    self.itemSize = CGSizeMake(92,144);
    self.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
    }

-(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
    {
    if(self.animator)
    etc etc etc

您必须设置 .itemSize...

所以我有很多集合视图,单元格大小是 92.144。但是在另一个集合视图中,单元格大小为 200.144。

对于那个,我只是复制类,将新类命名为 MediumBounce200,并将设置 .itemSize 的代码行更改为 200.144。

有没有更好的方法?你能以某种方式从情节提要中读取尺寸吗?

或者也许来自collectionVC,你能“伸手”并设置它吗?什么时候?

(请注意,我敢肯定,您在 情节提要中制作单元格的大小实际上并不重要:大小仅由上述 FlowLayout 中的代码设置。)

【问题讨论】:

    标签: ios uicollectionview uicollectionviewlayout


    【解决方案1】:

    提问Can you read the size from the storyboard somehow?

    有办法。

    1. 可能在 viewController 中选择故事板中的集合视图。
    2. 在身份检查器中设置视图的运行时属性 -> User Defined Runtime Attributes

    【讨论】:

    • 嗨,Dopcn,U.D.R.A 通常非常有用,但我绝对不想在这里使用它们,我想直接从故事板上得到它,设计师如何在故事板上塑造它。 (顺便说一句,对于 U.D.R.A.,如果有人想知道stackoverflow.com/a/15007600/294884,这是一个例子)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多