我在将简单的Rectangle()
放在水平堆栈中时遇到麻烦。
如果添加了它,Text()
会像这样停止调整大小:
如果我删除了Rectangle()
,可以正常工作:
我尝试更改框架,relativeSize,layoutPriority等,但没有任何效果。我认为这是一个错误,但是对于任何类型的几何类型(例如Circle,RoundedRectangle等)都会失败。
另一方面,使用Image()
可以正常工作。
有什么建议吗?
谢谢!
答案 0 :(得分:2)
只是写出我的头,可能是错误的,但是请尝试在VStack中添加矩形,以使其不会在其周围包裹单元格。
VStack {
Rectangle()
Spacer()
}
让我知道它是否有效。
编辑*
必须尝试一下,并找到“ kinda”解决方案,它可能会导致您给出正确的答案,您只需要在右上角放置矩形即可。将其设置为RowItem。
ZStack {
Rectangle()
.foregroundColor(Color.red)
.frame(width: 10, height: 10)
Text("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.")
.lineLimit(nil)
.layoutPriority(999)
.padding(.horizontal, 20)
}
答案 1 :(得分:2)
最终解决方案!感谢@Markicevic提供的基本思路
struct RowItem: View {
var body: some View {
ZStack(alignment: .leading) {
Rectangle()
.foregroundColor(.red)
.frame(width: 10)
HStack {
Text("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.")
.lineLimit(nil)
}
.layoutPriority(1)
.padding(.horizontal, 20)
}
.background(Color.white)
.cornerRadius(5.0)
.shadow(color: Color.black.opacity(0.3), radius: 4.0, x: 0.0, y: 3.0)
}
}
但是,我认为这不是最佳解决方案,而是SwiftUI错误。
答案 2 :(得分:0)
这种行为的原因是,HStack在布局时为其子级提供了无限的可用宽度。因此,Text没有理由以无限的可用宽度分成几行。
Flutter针对以下情况提供了扩展小部件:
PreparedStatement pst = conn.prepareStatement(query);
pst.setString(1, per.getText());
int i=6;
FileWriter writer = new FileWriter("C:\\Users\\marta\\Documents\\NetBeansProjects\\sqlteste\\Teste Formato (1)\\Teste Formato\\questions\\question"+i+".txt");
BufferedWriter bw=new BufferedWriter(writer);
per.write(bw);
bw.close();
per.setText("");
per.requestFocus();
由于SwiftUI基于Flutter的想法(我相信),因此它可能提供类似的内容。
答案 3 :(得分:0)
在Xcode 11.4.1上,下面的代码应该没有问题。
struct ContentView: View {
var body: some View {
List {
ForEach(0..<10) { _ in
RowCell()
}
}
}
}
struct RowCell: View {
var body: some View {
HStack(spacing: 5.0) {
Rectangle()
.foregroundColor(.red)
.frame(width: 10)
Text("Sed ut persipiciatis unde omnis iste natur error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eque ipsa quake ab illo inventore veritas et quasi architetto beata vitae dicta sunt explicabo.")
}
.background(Color.white)
.cornerRadius(3)
.shadow(color: Color.black.opacity(0.3), radius: 4, x: 0, y: 3)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}