You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

watchOS下SwiftUI中带axis参数的TextField无法多行换行的原因

TextField设置axis:.vertical却无法多行显示的原因

问题详情

以下是我的View代码:

@State private var descriptionService: String = "Hello Tim it doesnt work at all"
TextField("description".localized, text: $descriptionService, axis: .vertical)
    .multilineTextAlignment(.center)
    .padding()
    .lineLimit(3...7)

实际运行时,按axis: .vertical的设定,该TextField应支持多行显示,但实际并未实现,请问这是什么原因?

解决方案

  • 核心原因是当前文本内容未达到换行触发条件。axis: .vertical的作用是允许TextField在需要时垂直扩展为多行,但默认只有当文本长度超出单行显示宽度时,才会触发换行。
  • 你当前的字符串长度较短,在当前布局宽度下可单行容纳,因此没有激活多行效果。
  • 验证方式:输入更长的文本,或者手动缩小视图宽度让文本无法单行显示,此时TextField会自动换行并扩展为多行。
  • 另外,lineLimit(3...7)是限制行数的范围,但同样需要文本先触发换行才会生效。

内容的提问来源于stack exchange,提问作者kunass2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:51:00