无法在 UICollectionView 中修改 UILabel 框架?
Posted
技术标签:
【中文标题】无法在 UICollectionView 中修改 UILabel 框架?【英文标题】:Unable to modify UILabel frame inside UICollectionView? 【发布时间】:2017-02-23 17:49:28 【问题描述】:我有 ViewController 和里面的 UICollectionView,我正在尝试以编程方式将 UILable 添加到 UICollectionView:
let Label: UILabel =
let label = UILabel()
label.text = "Sample Text Here"
label.textAlignment = .center
label.textColor = UIColor(white: 0.4, alpha: 0.4)
label.font = UIFont.systemFont(ofSize: 20)
return label
()
override func viewDidLoad()
super.viewDidLoad()
Label.translatesAutoresizingMaskIntoConstraints = false
Label.frame = CGRect(x: 0, y: 40, width: view.frame.width, height: 20)
collectionView.addSubview(Label)
当我尝试更改 y 值时,它是相同的
当我尝试像这样添加它时:view.addSubView(Label)
根本没有出现。
注意:如果没有数据填充单元格,则应显示标签
【问题讨论】:
不要将子视图添加到collectionView。创建 UICollectionViewCell 并向单元格添加标签 @Bhanupriya 如果没有要填充的单元格,标签将出现 【参考方案1】:它工作..
override func viewDidLoad()
super.viewDidLoad()
let collectionView = UICollectionView(frame: CGRect(x: 0, y: 0, width: 300, height: 300), collectionViewLayout: UICollectionViewFlowLayout())
self.view.addSubview(collectionView)
collectionView.backgroundColor = UIColor.red
let label = UILabel()
label.text = "Sample Text Here"
label.textAlignment = .center
label.textColor = UIColor(white: 0.4, alpha: 0.4)
label.font = UIFont.systemFont(ofSize: 20)
label.frame = CGRect(x: 0, y: 100, width: view.frame.width, height: 20)
collectionView.addSubview(label)
不过,在直接向 collectionview 添加标签时要小心。 您可以创建一个 uiview 并向其添加标签和集合(当然使用适当的集合视图布局)。仅将集合视图用于显示单元格并根据需要向 cell.contentView 添加任何内容
谢谢。
【讨论】:
以上是关于无法在 UICollectionView 中修改 UILabel 框架?的主要内容,如果未能解决你的问题,请参考以下文章
无法在UIInputViewController中使用UICollectionView进行键盘扩展
无法在 Swift 3 中调用非函数类型“UICollectionView”的值
无法在 uicollectionview 中显示一组 uimage
无法将目录中保存的图像召回到 UICollectionView