所以我有一个几何代理,它包装了我制作的自定义 UITextField。文本字段的唯一问题是,如果我输入一个长字符串,文本字段的宽度会变大以适应内容大小。我认为最好的方法(我可能是错的)处理这个问题是将它包装在几何阅读器中,然后将文本字段的最大宽度设置为代理的宽度:唯一的问题是我不知道如何访问代理的宽度:
HStack {
GeometryReader { proxy in
TextFieldAlternate(text: self.$bindingVariable)
.padding(.top, 10)
.padding(.leading, 15)
.padding(.bottom, 10)
.cornerRadius(10)
.frame(maxWidth: proxy.bounds.width)
}
}.padding(.horizontal)
.padding(.top, 65)
理想情况下,这与“TextFieldAlternate”只是一个普通的 TextField 时完全一样。我是否以正确的方式思考这个问题?因为我的逻辑是 GeometryReader 将具有与 HStack 相同的尺寸,所以如果我将文本字段的 maxWidth 设置为与 HStack 相同,它就不会变得更大,对吧?