菜鸟教程小白 发表于 2022-12-12 15:00:03

ios - 更改 UICollectionView 单元格 X 位置 - 快速


                                            <p><p>如何以编程方式更改每个单元格的 X 位置?我可以根据需要更改单元格的宽度和高度,但由于 XY 位置,无法完成项目。</p>

<ul>
<li><p><strong>我的结果</strong>,</p>

<p> <a href="/image/QPk3e.jpg" rel="noreferrer noopener nofollow"><img src="/image/QPk3e.jpg" alt="enter image description here"/></a> </p></li>
<li><p><strong>预期结果是,</strong></p></li>
</ul>

<p> <a href="/image/QFzrP.jpg" rel="noreferrer noopener nofollow"><img src="/image/QFzrP.jpg" alt="enter image description here"/></a> </p>

<p>我的完整 ViewController 代码是,</p>

<pre><code>import UIKit

class ReviewVC: UIViewController , UICollectionViewDataSource , UICollectionViewDelegate , UICollectionViewDelegateFlowLayout{


    var cellWidthArr : =


    var titleArr = [&#34;Polite&#34; , &#34;Showed up on time&#34;, &#34;Quick responses&#34; , &#34;Fair prices&#34;]

    override func viewDidLoad() {
      super.viewDidLoad()


      self.navigationItem.title = &#34;Review your experiance&#34;

      let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
      layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
      layout.minimumInteritemSpacing = 0
      layout.minimumLineSpacing = 0
      collectionView!.collectionViewLayout = layout

    }


    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -&gt; Int {
      return 4
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -&gt; UICollectionViewCell {
      let cell = collectionView.dequeueReusableCell(withReuseIdentifier: &#34;ReviewCollectionCell&#34;, for: indexPath)as? ReviewCollectionCell

      cell?.titleLabel.text = self.titleArr

      cell?.titleLabel.layer.cornerRadius = (cell?.titleLabel.bounds.size.height)!/2
      cell?.titleLabel.clipsToBounds = true

      cell?.titleLabel.layer.borderColor = (UIColor.init(red: 240/255, green: 36/255, blue: 70/255, alpha: 1.0)).cgColor
      cell?.titleLabel.layer.borderWidth = 1.0

      return cell!
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -&gt; UIEdgeInsets {
      return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -&gt; CGSize
    {
      return CGSize(width: self.cellWidthArr, height: 30)
    }
}
</code></pre>

<p>任何人请帮我找出解决方案。谢谢...</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以使用开源项目<a href="https://github.com/riteshhgupta/TagCellLayout" rel="noreferrer noopener nofollow">TagCellLayout</a> <strong>riteshhgupta</strong> 在 <code>GitHub</code> 中编写。</p>

<p>初始化布局的示例代码:</p>

<pre><code>import TagCellLayout

let tagCellLayout = TagCellLayout(alignment: .left, delegate: self)
collectionView.collectionViewLayout = tagCellLayout
</code></pre>

<p> <a href="/image/k5Qjx.png" rel="noreferrer noopener nofollow"><img src="/image/k5Qjx.png" alt="enter image description here"/></a> </p>

<p>我知道您可能会为此编写大量代码,但这会很有帮助,甚至您可以自定义不同的布局对齐方式。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 更改 UICollectionView 单元格 X 位置 - 快速,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/53625769/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/53625769/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 更改 UICollectionView 单元格 X 位置 - 快速