标签框架没有在“UICollectionViewCell”中正确保留

时间:2018-04-13 11:27:39

标签: ios swift cornerradius

我正在按UICollectionView开发自定义日历。 我希望在今天的日期显示label的圆形背景。

我的代码在uitableviewCell中:

let todayDate = Date().removeTimeStamp()
    self.lblDate.text = "\(String(describing: day))"
    if date == todayDate{
        lblDate.textColor = .white
        lblDate.layer.cornerRadius = lblDate.frame.width/2
        lblDate.layer.backgroundColor = UIColor.appOrange.cgColor
    }else if date < todayDate {
        lblDate.textColor = .lightGray
        lblDate.layer.backgroundColor = UIColor.white.cgColor
    }else{
        lblDate.textColor = .black
        lblDate.layer.backgroundColor = UIColor.white.cgColor
    }  

但我没有得到适当的循环。见: enter image description here

当我从StoryBoard更改UICollectionViewCell的大小时,圆圈的形状会发生变化。

具有1:1宽高比约束的lable

我能为正确的圈子做些什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

将其设置在

func layoutSubviews()
{
    super.layoutSubviews()
    lblDate.layer.cornerRadius = lblDate.frame.width/2
    lblDate.clipsToBounds = true
}

答案 1 :(得分:0)

您还可以创建全局功能:

   theFunction(...arr)

}

答案 2 :(得分:0)

问题是,当我们在正确完成布局之前访问标签框架时,我们得错了框架。

<强>解决方案:

您可以覆盖UICollectionView课程的func layoutSubviews() { super.layoutSubviews() lblDate.layer.cornerRadius = lblDate.frame.width/2 } 方法。

from keras.datasets import mnist