gpt4 book ai didi

ios - UICollectionView 中的 UILabel 跨越两个或多个单元格

转载 作者:行者123 更新时间:2023-11-28 07:29:07 24 4
gpt4 key购买 nike

我知道如何在一个单元格内编写一个标签(见下面的 label2),我的问题是,我想建立一个日历,例如当我有两天的约会时,我需要一个跨越两个单元格的标签(见图片, 标签 1) 知道如何实现吗?我们非常感谢您的帮助!!

enter image description here

当我使用以下代码时,第二张图片显示标签被以下单元格隐藏(您可以看到单元格之间的小绿线):

 let myLabel = UILabel()
myLabel.clipsToBounds = false
myLabel.translatesAutoresizingMaskIntoConstraints = false
cell.addSubview(myLabel)
myLabel.backgroundColor = UIColor.green
myLabel.widthAnchor.constraint(equalToConstant: desiredWidth).isActive = true
myLabel.heightAnchor.constraint(equalToConstant: 30).isActive = true
let margins = cell.layoutMarginsGuide
myLabel.topAnchor.constraint(equalTo: margins.topAnchor, constant: 15).isActive = true
myLabel.text = "Appointment"

enter image description here

最佳答案

首先,您必须取消选中剪辑以绑定(bind) Storyboard 中的单元格,或者您可以在

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)
// So that the label can go out of bound
cell?.clipsToBounds = false
cell?.label.clipsToBounds = false

.
.
.

return cell
}

现在您可以使用带有约束的逻辑来在 InterfaceBuilder 中实现您想要的

或者

您可以像这样更改 cellForItemAt 中标签的框架

// Change desiredWidth according to you needs
let desiredWidth = 1000

cell?.wordlabel.frame = CGRect(origin: (cell?.wordlabel.frame.origin)! , size: CGSize(width: desiredWidth, height: 30))

编辑

您可以通过以下方式调整单元格的大小:

extension YourViewController: UICollectionViewDelegateFlowLayout {

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

let font = UIFont.systemFont(ofSize: 13)

let size = (data[indexPath.row] as NSString).size(withAttributes:[NSAttributedString.Key.font: font])

// Add your logic here for the desired cell width
let additionalpadding: CGFloat = 1000
return CGSize(width: size.width + additionalpadding, height: 30)
}

}

关于ios - UICollectionView 中的 UILabel 跨越两个或多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55558706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com