菜鸟教程小白 发表于 2022-12-12 10:03:34

ios - 以编程方式将按钮添加到 Collection View 单元格


                                            <p><p>我在 Xcode 4.6 中有一个应用程序。在一个 ViewController 中,我有一个 Collection View 。通过用户与 View 的交互将单元格添加到 View 中。这工作正常。然后,我想向每个单元格添加一个按钮(以编程方式),以允许删除该单元格。我希望按钮位于每个单元格的右上角。问题是按钮出现在 Collection View 第一行中所有单元格的每个单元格内的所需位置(再次,右上角),但随后出现在第一行之后的所有单元格的单元格之外。见下图:<img src="/image/yt99G.png" alt="enter image description here"/> </p>

<p>我的按钮创建方法是:</p>

<pre><code>-(CollectionViewCellButton *)makeDeleteButtonForCell:(UICollectionViewCell *)cell
{
CollectionViewCellButton *button = ;
CGSize newImageSize = CGSizeMake(cell.frame.size.width/2.5, cell.frame.size.height/2.5);
UIImage *image = scaledToSize:newImageSize];

CGFloat width = image.size.width;
CGFloat height = image.size.height;
CGFloat X = cell.frame.size.width - width;
CGFloat Y = cell.frame.origin.y;

button.frame = CGRectMake(X, Y, width, height);
;
[button addTarget:self
         action:@selector(deleteCollectionViewCell:)
   forControlEvents:UIControlEventTouchUpInside];

return button;
</code></pre>

<p>}</p>

<p>上述方法在我的cell创建方法中调用如下:</p>

<pre><code>-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
             cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView
                              dequeueReusableCellWithReuseIdentifier:@&#34;newCell&#34;
                              forIndexPath:indexPath];

//CALLED HERE!!
CollectionViewCellButton *cellButton = ;

cellButton.indexPath = indexPath;
];
;

return cell;
}
</code></pre>

<p>谁能建议我做错了什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>按钮被添加为单元格的 subview 。它应该使用单元格的坐标系(边界),而不是单元格的 superView (框架)的坐标系。在您的情况下,由于按钮位于单元格集的顶部</p>

<pre><code>CGFloat Y = 0;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 以编程方式将按钮添加到 Collection View 单元格,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15821486/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15821486/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 以编程方式将按钮添加到 Collection View 单元格