菜鸟教程小白 发表于 2022-12-12 21:52:34

iphone - 获取 NSCollectionViewItem 的 frame.size


                                            <p><p>我正在使用 SSToolkit/SSCollectionView,并且我有一个自定义的 SSCollectionViewItem,但我很难获得由 SSCollectionView 代表设置的该 View 的帧大小:</p>

<pre><code>- (CGSize)collectionView:(SSCollectionView *)aCollectionView itemSizeForSection:(NSUInteger)section {
return CGSizeMake(280.0f, 280.0f);
}
</code></pre>

<p>这是正在初始化的项目:</p>

<pre><code>#pragma mark - Initializer

- (id)initWithReuseIdentifier:(NSString *)aReuseIdentifier {
    if ((self = )) {
      if() {
            NSLog(@&#34;Frame: %f&#34;, self.frame.size.width);
            return self;
      } else {
            self.imageView.backgroundColor = ;
            return self;
      }

      self.imageView.backgroundColor = ;
    }
    return self;
}
</code></pre>

<p><code>NSLog(@"FRAME Width:%f", self.frame.size.width);</code> 总是返回一个 0</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是预期的行为。所有 Collection View 项始终使用 CGRectZero 进行初始化,因为它们可以在具有不同项大小的部分中重复使用。</p>

<p>SSCollectionView 在项目显示之前自动调整它们的大小。如果需要根据项目的大小进行布局,则应实现 <code>layoutSubviews</code>。</p>

<p>此外,您似乎正在尝试根据标识符进行不同的绘图。我强烈建议您为每个标识符创建一个不同的类,以保持内容简洁易懂。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 获取 NSCollectionViewItem 的 frame.size,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11419527/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11419527/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 获取 NSCollectionViewItem 的 frame.size