hzx*_*zxu 4 uikit uilabel ios autolayout
我有一个UILabel内部 a UIStackView,堆栈视图在另一个内部UIScrollView,我正在使用自动布局。标签有单行(即numberOfLines等于 1),在某些情况下我需要将其设置为多行(即numberOfLines等于 0)并带有展开它的动画。
func expand() {
label.numberOfLines = 0
}
Run Code Online (Sandbox Code Playgroud)
当我单击展开时:
messageView.expand()
UIView.animate(withDuration: 0.3) {
self.layoutIfNeeded()
}
Run Code Online (Sandbox Code Playgroud)
但是,当它展开时,标签的框架不会更新,我必须滚动(滚动视图)才能使其完全可见。可能出什么问题了?
谢谢!
的动画UILabel不在 内执行
UIView.animate(withDuration:)。
这应该有效:
UIView.transition(with: label, duration: 0.5, options: .transitionCrossDissolve, animations: {
self.label.numberOfLines = 0
})
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用选项和执行块。
| 归档时间: |
|
| 查看次数: |
1402 次 |
| 最近记录: |