Кнопка пользовательского интерфейса с изображением меньше сенсорной области - PullRequest
1 голос
/ 18 марта 2011

У меня не так много ответов, поэтому добавляю больше информации.

Мои кнопки не прямоугольные и не организованы в сетку, поэтому мне нужен способ создать то, что выглядит как кнопка (и показывает, что она была нажата визуально, как в стандартной UIButton), но где область касания отличается от область изображения.

Я использую прозрачный PNG, и этот элемент работает нормально. Я добавил кнопки в Интерфейсный Разработчик, и мне интересно, в этом ли проблема.

Однако, если я изменю imageEdgeInsets, это искажает отображение изображения, что явно не то, что я хочу.

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

Я пробовал разные комбинации режима (масштаб для заполнения и т. Д.), Но безрезультатно.

Мне известно, что существует свойство изображения и фонового изображения, но в IB есть только одно.

По сути, я не понимаю, как работает геометрия, и документация Apple, похоже, не помогает.

Конечно, я не могу быть единственным человеком, который пытается это сделать. Любая помощь будет тепло приветствоваться.

Большое спасибо,

Крис.

Ответы [ 2 ]

4 голосов
/ 22 марта 2011

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

Также установите тип кнопки на пользовательский.

enter image description here

2 голосов
/ 23 марта 2011

В конце концов я наткнулся на класс Непрямоугольных кнопок Оле Бегемана . Он просто делает то, что мне нужно - чтобы иметь возможность создавать кнопки, где сенсорная область следует за видимым элементом непрямоугольного изображения.

@ Helium3 - спасибо - это позволило мне использовать большую сенсорную область, немного меньше.

...