无法为单元格中的文本字段字体大小更改设置动画

问题描述 投票:0回答:1

我有一个tableView

cell
,它由
label
和一个
textField
组成。

textField
的宽度约束等于 150,其文本设置为
systemBold
30,
Adjust to fit
已打开,故事板中的最小尺寸为 10。

textField
开始编辑时,我将
textField
宽度增加到300以提供更多空间并使用
UIView.animate
对其进行动画处理。然后在编辑结束时回到初始状态:

    func textFieldDidBeginEditing(_ textField: UITextField) {
        UIView.animate(withDuration: 1) { [self] in
            textFieldWidth.constant = 300
            self.layoutIfNeeded()
        }
    }
    
    func textFieldDidEndEditing(_ textField: UITextField) {
        UIView.animate(withDuration: 1) { [self] in
            textFieldWidth.constant = 150
            self.layoutIfNeeded()
        }
    }

我遇到的问题是

textField's
文本字体立即更改为更大的 30 大小而没有任何动画。当
textField
回到其初始 150 宽度时,也会发生同样的情况。

我用 scaleX 和 scaleY 尝试了不同的方法,例如

UIView.transition
transform
,但没有成功。

我希望字体大小的变化(从小到 30)随着 textField 宽度的变化而变化,从尾随约束到左方向。

如何实现这样的行为?

这是一个测试项目的要点:点击

swift animation uiview uikit uitextfield
1个回答
0
投票

试试这个

UIView.animate(withDuration: 1.0) {
    self.myTextField.transform = CGAffineTransform(scaleX: 2.0, y: 2.0)
}
© www.soinside.com 2019 - 2024. All rights reserved.