1

我使用以下代码添加了指向导航栏后沿的链接:

bodyContent
    .navigationBarItems(trailing:
        NavigationLink(
            destination: InfoView()
        ) {
            Image(systemName: "info.circle")
        }
    )

此代码有效,但是我发现由于可选区域很小,用户很难按下(在 iPhone X 上测试)。

使用视图调试器,我相信圆形图标内的这个小矩形是可选区域:

信息图标

如何增加该区域的大小,至少使其与圆形图标一样大?理想情况下,用户也可以在导航栏占据的垂直空间内按下图标上方和下方的任何位置。

4

2 回答 2

0

只需添加填充

bodyContent
    .navigationBarItems(trailing:
        NavigationLink(
            destination: InfoView()
        ) {
            Image(systemName: "info.circle").padding() // << here !!
        }
    )
于 2020-04-13T17:32:08.443 回答
0

你也可以传递一个 .frame(width: 100, height: 100)

它在整个空间中都是可点击的,尽管其他 UI 元素的行为就像你的图标是那个大小一样。

于 2020-04-13T20:54:36.827 回答