我有一个自定义日期视图(垂直日期,月份名称和年份)。 我想在一个水平stackview中使用这个视图与另一个stackview。我的自定义视图必须包装它的内容。例如,最大的内容是month = 12月,所以该视图必须具有与12月相同的宽度。当我在stackview中使用它的宽度是拥抱不幸的是,自定义视图的代码在下面。为什么我的视图的宽度很紧?我不想将其设置为固定高度。
override init(frame: CGRect) {
super.init(frame: frame)
prepare()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
prepare()
}
fileprivate func prepare() {
self.backgroundColor = UIColor.white
let itemStack = UIStackView()
itemStack.axis = .vertical
itemStack.alignment = .center
itemStack.isLayoutMarginsRelativeArrangement = true
itemStack.translatesAutoresizingMaskIntoConstraints = false
day.text = "28"
month.text = "Ağustos"
year.text = "2015"
itemStack.addArrangedSubview(day)
itemStack.addArrangedSubview(month)
itemStack.addArrangedSubview(year)
self.addSubview(itemStack)
self.topAnchor.constraint(equalTo: itemStack.topAnchor).isActive = true
self.bottomAnchor.constraint(equalTo: itemStack.bottomAnchor).isActive = true
self.leadingAnchor.constraint(equalTo: itemStack.leadingAnchor).isActive = true
self.trailingAnchor.constraint(equalTo: itemStack.trailingAnchor).isActive = true
}
fileprivate func formatValue() {
day.text = value?.toString(dateFormat: DateFormat.dd)
month.text = value?.toString(dateFormat: DateFormat.MMMM)
year.text = value?.toString(dateFormat: DateFormat.yyyy)
layoutIfNeeded()
}