Как сделать так, чтобы в SwiftUI было проще нажимать на ссылку со значком навигационной панели? - PullRequest
1 голос
/ 13 апреля 2020

Я добавил ссылку на задний край моей панели навигации, используя следующий код:

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

Этот код работает, однако я обнаружил, что пользователю сложно нажать (тестирование на iPhone X) из-за небольшой области выбора.

Используя отладчик вида, я считаю, что этот маленький прямоугольник в круглом значке является областью выбора:

info icon

Как я могу увеличить размер этой области, по крайней мере, чтобы она равнялась круглому значку? В идеале пользователь мог бы нажимать в любом месте выше и ниже значка, а также в пределах вертикального пространства, занимаемого панелью навигации.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Вы также можете передать .frame (ширина: 100, высота: 100)

, и он будет доступен для нажатия во всем пространстве, хотя другие элементы пользовательского интерфейса будут действовать так, как если бы ваш значок был такого размера.

0 голосов
/ 13 апреля 2020

Просто добавьте отступы

bodyContent
    .navigationBarItems(trailing:
        NavigationLink(
            destination: InfoView()
        ) {
            Image(systemName: "info.circle").padding() // << here !!
        }
    )
...