我有一个名为UICollectionViewCell
的{{1}}自定义类。
我正在创建一个类型为ChronicleCell
的实例变量。
UIButton
对于这个实例变量,我想将其框架设置为等同于 class ChronicleCell : UICollectionViewCell {
//init etc.
var buttonFullCellSize : UIButton = {
let button = UIButton()
//TODO set button to be size of UICollectionViewCell frame
}()
}
的框架。但是,在从UICollectionViewCell
继承的类中无法访问它。我怎样才能做到这一点?谢谢!
答案 0 :(得分:2)
将collectionViewLayout的框架分配给按钮:
let rect = self.collectionViewLayout.layoutAttributesForItemAtIndexPath(clIndexPath).frame
button.frame = button.rect
您的代码可能是:
class ChronicleCell : UICollectionViewCell {
//init etc.
var buttonFullCellSize : UIButton = {
let button = UIButton()
let frameOfUICollectionViewCell = self.collectionViewLayout.layoutAttributesForItemAtIndexPath(clIndexPath).frame
button.frame = button.rect
return button
}()
}
答案 1 :(得分:2)
单元格的contentView
与单元格大小相同,因此您应该使用它来获取框架。
var buttonFullCellSize: UIButton {
let button = UIButton()
button.frame = contentView.frame
return button
}