我已经设置了一个集合视图,该视图水平滚动并显示“companies”数组中的元素。

单元格根据标签宽度自动调整大小。
我使用了下面的代码和故事板约束来实现这个目标:
class addTextStatus: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var companies: [String] = ["Everyone","Limited", "Friends", "Only Me", "Test Length Cells", ]
@IBOutlet weak var collectionView: UICollectionView!
@IBOutlet weak var userImage: UIImageView!
override func viewDidLoad(){
collectionView.register(UINib.init(nibName: "statusCompanyCollectionView", bundle: nil), forCellWithReuseIdentifier: "cell4")
if let flowLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
flowLayout.estimatedItemSize = CGSize(width: 1,height: 1)
}
userImage.layer.masksToBounds = false
userImage.layer.cornerRadius = userImage.frame.height/2
userImage.clipsToBounds = true
}
@IBOutlet weak var backButton: UIButton!
@IBAction func backButton(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return UIStatusBarStyle.default
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.companies.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell4 = collectionView.dequeueReusableCell(withReuseIdentifier: "cell4", for: indexPath) as! statusCompanyCollectionView
cell4.company.text = self.companies[indexPath.item]
return cell4
}
}

但是,问题是,当我在标签后面添加一个UIImage视图并分配约束时,它应该与标签的大小和位置相同,我得到了以下意想不到的结果:

实际上,我希望实现以下目标:

我用来应用图像背后的限制因素如下:

有趣的是,当我使用UIView而不是UIImage视图时,它会像预期的那样工作,但是我确实需要在这个实例中使用图像视图。
为什么会发生这种情况,我如何解决这个问题?
发布于 2017-11-20 07:04:29
UIImageView添加到UILabel。您只需要将四个约束(Leading,Trailing,Equalwidth,EqualHeight)从UIImageView添加到UILabel。
https://stackoverflow.com/questions/47382755
复制相似问题