【发布时间】:2019-10-16 07:33:10
【问题描述】:
我在 UINavigationBar 中放置了一个 UILabel。
我想根据navigationBar 的高度增加该标签的字体大小。当navigationBar 很大时,我希望字体大小更大,当我滚动并且navigationBar 缩小时,我希望字体大小减小。
到目前为止我得到了什么(在 viewDidLoad 中):
dateLabel.text = "16. Oktober"
dateLabel.font = .boldSystemFont(ofSize: 40)
dateLabel.adjustsFontSizeToFitWidth = true
dateLabel.minimumScaleFactor = 0.5
dateLabel.backgroundColor = .white
dateLabel.numberOfLines = 1
dateLabel.lineBreakMode = .byTruncatingTail
self.navigationController?.navigationBar.addSubview(dateLabel)
dateLabel.translatesAutoresizingMaskIntoConstraints = false
dateLabel.bottomAnchor.constraint(equalTo: (self.navigationController?.navigationBar.bottomAnchor)!, constant: -16).isActive = true
dateLabel.leadingAnchor.constraint(equalTo: redView.trailingAnchor, constant: 16).isActive = true
dateLabel.widthAnchor.constraint(equalToConstant: 200).isActive = true
dateLabel.topAnchor.constraint(equalTo: (self.navigationController?.navigationBar.topAnchor)!, constant: 16).isActive = true
我设置了约束,以便 dateLabel 根据 navigationBar 的高度收缩(如您在屏幕截图中所见)。
但是dateLabel的字体大小没有变化。
屏幕截图显示了我滚动时navigationBar 的不同状态。
如何根据navigationBar 的高度减小dateLabel 的字体大小?这可以通过自动布局实现吗?
【问题讨论】:
标签: ios swift uilabel uinavigationbar ios-autolayout