ios - SwiftUI 文本在 HStack 中超出屏幕
问题描述
我尝试了所有方法,但 .lineLimit(nil)、.fixedSize(horizontal: true, vertical: false)、.fixedSize(horizontal: false, vertical: true) 不起作用,我不知道如何将文本放在下一行,如果它走出屏幕。文本是按钮,按钮位于列表中。
func showTime(hm: HourAndMinute) -> some View{
return HStack {
Text(String(hm.hour)).bold()
ForEach(hm.minute, id: \.self) { minute in
Button(action: {
print(hm.minute)
}) {
Text(String(minute)).frame(width: 30, height: 25).background(Color("hour")).cornerRadius(5)
}.buttonStyle(BorderlessButtonStyle())
}
}.fixedSize(horizontal: true, vertical: false)
}
解决方案
如果您不想错过任何框,可以尝试使用 ScrollView。
ScrollView(.horizontal) {
HStack {
Text(String(hm.hour)).bold()
ForEach(hm.minute, id: \.self) { minute in
Button(action: {
print(hm.minute)
}) {
Text(String(perc))
.frame(width: 30, height: 25)
.background(Color("ora")).cornerRadius(5)
}.buttonStyle(BorderlessButtonStyle())
}
}
}
另一方面,如果你想剪辑容器视图,你可以使用:
.clipShape(Rectangle())
推荐阅读
- c# - 更改 SelectedIndex 后,带有 GridView 的 WPF ListView 不更新 SelectionBox
- java - 出现异常:元素不可点击,因为另一个元素遮住了它
- python - Python Network Socket-Client 偶尔冻结
- javascript - 链接 redux thunk
- java - 方法调用后抛出 java.lang.NullPointerException
- html - Raspberry Pi Apache2 not accessing the user files using HTML
- sql - 如何根据 postgresql 中的另一列对字符串聚合进行排序?
- android - 错误:cmd:将应用程序运行到 android apk 时命令失败,退出代码为 ENOENT
- python - 使用带有 TimeDistributed LSTM 层的 CNN 编码器来解决拼图问题
- html - 无法从滚动中冻结带有 CSS 的两个第一列