UICollectionViewCell 中的自动标签调整大小不起作用
Automatic Label Resize in UICollectionViewCell Not Working
我无法让 UICollectionViewCell 中的标签根据字符串的长度动态调整大小。我已经将单元格子类化并将标签链接到它。我已经把行数设置为0了,还是没有骰子
我也调用了 sizeToFit() 方法。
为 iOS 8.2
编译
这是我的自定义 Cell 代码:
class ItemCollectionCell: UICollectionViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var reviewerLabel: UILabel!
@IBOutlet weak var statusImageView: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
self.selected = false
titleLabel.numberOfLines = 0
titleLabel.sizeToFit()
}
}
确保您没有取消选中 InterfaceBuilder 中的 Autoresize subviews
:
您必须告诉集合视图单元格的大小。使用 UICollectionViewDelegateFlowLayout
协议的这种方法:
collectionView:layout:sizeForItemAtIndexPath:
可以通过调用NSString UIKit Additions的方法来计算大小
boundingRectWithSize:options:attributes:context:
并在属性参数中传递字体信息。
好的...所以感谢那些提供帮助的人。我发现我的问题确实与自动布局约束有关。我只是错过了 "Constrain to Margin".
的方框
我无法让 UICollectionViewCell 中的标签根据字符串的长度动态调整大小。我已经将单元格子类化并将标签链接到它。我已经把行数设置为0了,还是没有骰子
我也调用了 sizeToFit() 方法。
为 iOS 8.2
编译这是我的自定义 Cell 代码:
class ItemCollectionCell: UICollectionViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var reviewerLabel: UILabel!
@IBOutlet weak var statusImageView: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
self.selected = false
titleLabel.numberOfLines = 0
titleLabel.sizeToFit()
}
}
确保您没有取消选中 InterfaceBuilder 中的 Autoresize subviews
:
您必须告诉集合视图单元格的大小。使用 UICollectionViewDelegateFlowLayout
协议的这种方法:
collectionView:layout:sizeForItemAtIndexPath:
可以通过调用NSString UIKit Additions的方法来计算大小
boundingRectWithSize:options:attributes:context:
并在属性参数中传递字体信息。
好的...所以感谢那些提供帮助的人。我发现我的问题确实与自动布局约束有关。我只是错过了 "Constrain to Margin".
的方框