Ios awakeFromNib不会更改UILabel属性
我有一个自定义的Ios awakeFromNib不会更改UILabel属性,ios,uicollectionview,Ios,Uicollectionview,我有一个自定义的UICollectionViewCell子类,我在一个xib文件中这样布置视图: 我的自定义UICollectionViewCell设置如下: class DurationDayCollectionViewCell: UICollectionViewCell { @IBOutlet weak var banner: UIView! @IBOutlet weak var numberOfHours: UILabel! @IBOutlet weak var
UICollectionViewCell
子类,我在一个xib文件中这样布置视图:
我的自定义UICollectionViewCell
设置如下:
class DurationDayCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var banner: UIView!
@IBOutlet weak var numberOfHours: UILabel!
@IBOutlet weak var unitHrs: UILabel!
@IBOutlet weak var dayOfWeek: UILabel!
@IBOutlet weak var hourContainer: UIView!
override func awakeFromNib() {
super.awakeFromNib()
self.unitHrs.sizeToFit()
self.dayOfWeek.sizeToFit()
self.numberOfHours.sizeToFit()
}
但是,当我运行它时,集合视图如下所示:
为什么我输入的代码
awakeFromNib
没有改变任何东西?我想我只是不太明白它是怎么工作的,有人能解释一下吗?提前谢谢 您的nib正在使用自动布局(从显示nib中的视图具有约束的屏幕截图可以清楚地看出)sizeToFit
对受自动布局约束的视图没有影响,因为其大小由约束设置
但是调用
sizeToFit
是您在awakeFromNib
中唯一要做的事情。因此,您的awakeFromNib
是毫无意义的。您的nib正在使用自动布局(从显示nib中的视图具有约束的屏幕截图可以清楚地看出)sizeToFit
对受自动布局约束的视图没有影响,因为其大小由约束设置
但是调用
sizeToFit
是您在awakeFromNib
中唯一要做的事情。因此,您的awakeFromNib
是没有意义的。您希望通过调用sizeToFit获得什么?那么小时标签的文本将适合标签?单元格大小是否会变化?还是总是一样?@marosoaie单元格大小不同,这是我在使用nib时遇到的另一个问题--我可以将UIView设置为方面填充
,但其中的标签很难调整,正如您所看到的,日期标签与nib中的蓝色视图不成比例。如果您希望以不同的字体显示3
和hrs
,则不需要使用两个标签,您可以使用带有属性字符串的单个标签,这将使其更容易。从外观上看,您的约束无法正常工作,因为hrs在渲染视图中位于顶部,而不是在nib中居中。通过调用sizeToFit,您希望获得什么?因此小时标签的文本将适合标签?单元格大小是否变化?还是总是一样?@marosoaie单元格大小不同,这是我在使用nib时遇到的另一个问题--我可以将UIView设置为方面填充
,但其中的标签很难调整,正如您所看到的,日期标签与nib中的蓝色视图不成比例。如果您希望以不同的字体显示3
和hrs
,则不需要使用两个标签,您可以使用带有属性字符串的单个标签,这将使其更容易。从外观上看,您的约束无法正常工作,因为hrs在渲染视图中位于顶部,而不是像笔尖一样居中。我不知道您应该做什么,因为我不知道您想做什么。我想我回答了你问的问题。我没有其他信息。你的问题是:“为什么我放在nib中的代码没有改变任何东西?”我解释道。标签大小完全由其约束条件设置。我不知道您应该做什么,因为我不知道您想做什么。我想我回答了你问的问题。我没有其他信息。你的问题是:“为什么我放在nib中的代码没有改变任何东西?”我解释道。标签大小完全由其约束设置。