代码之家  ›  专栏  ›  技术社区  ›  Heuristic

UILabel numberOfLines随动画更改

  •  0
  • Heuristic  · 技术社区  · 6 年前

    UILabel UIStackView ,堆栈视图在另一个视图中 UIScrollView numberOfLines 等于1),在某些情况下,我需要将其设置为multiline(即。 等于0)的动画。

    func expand() {
        label.numberOfLines = 0
    }
    

    单击展开时:

    messageView.expand()
    UIView.animate(withDuration: 0.3) {
        self.layoutIfNeeded()
    }
    

    但是,当它展开时,标签的框架没有更新,我必须滚动(滚动视图)使其完全可见。有什么问题吗?

    2 回复  |  直到 6 年前
        1
  •  4
  •   rocoo    6 年前
    1. 你把标签上的文字改了吗?
    2. 检查自动布局是否正确
        2
  •  2
  •   Oleg    6 年前

    UILabel UIView.animate(withDuration:) 这应该起作用:

    UIView.transition(with: label, duration: 0.5, options: .transitionCrossDissolve, animations: {
         self.label.numberOfLines = 0
    })