我的 macOS 应用程序上有一个基于自定义导航系统构建的导航侧边栏。
要导航到我检测到的不同视图.onTapGesture
列表项的 s 如下所示:
List (selection: $selection) {
ForEach(items, id:\.id) { item in
getNavButton(navItem: item) //an HStack with an Image and a Text view
.onTapGesture {
//change selection
//navigate to desired view...
}
}
}
每当我单击某个项目时,它都会按预期突出显示侧边栏上的选择。问题是它不会触发.onTapGesture
除非单击NavButton
.
为了解决这个问题,我尝试增加HStack
包含按钮组件。我也尝试添加Spacer
堆栈内。
HStack {
Image(systemName: "house")
Text("some text...")
Spacer()
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
这仍然在按钮周围留下了一个小区域,无法检测到我的点击,如下所示。注意:当红色区域发生点击时,就会被检测到。红色是纯粹的造型。
如何填充按钮周围的剩余区域?
另外,如果这种方法无效,我应该如何检测选择的变化?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)