iphone - как расширить область касания кнопки? - PullRequest
0 голосов
/ 01 июля 2010

У меня есть 5 круглых кнопок подряд, каждая, 40x40 пикселей.Между ними у меня есть 20 пикселей.

40x40 пикселей слишком мал, чтобы их можно было касаться, но, поскольку у меня есть пространство между каждой кнопкой в ​​20 пикселей, я могу расширить область касания кнопки до 60x60 пикселей, что облегчает касание,Я мог бы просто использовать грязное решение для создания квадратного прозрачного изображения размером 60x60 пикселей, наложить его на кнопку и сделать это сенсорным, но я знаю, что можно расширить область касания кнопки, создав собственный класс и изменив параметр.

Я знаю, что это возможно, потому что я видел, как это было сделано ранее (но я не могу найти URL).Я знаю, что это что-то связанное с hitTest.

Как это можно сделать?Спасибо.

Ответы [ 2 ]

3 голосов
/ 01 июля 2010

Эйко абсолютно прав.Вот некоторый простой код, который вы можете использовать, который не зависит от местоположения кнопки, которое кто-то дал мне для расширения фрейма кнопки «Информация».

CGRect newInfoButtonRect = CGRectMake(infoButton.frame.origin.x - 25, 
                                          infoButton.frame.origin.y - 25, 
                                          infoButton.frame.size.width + 50, 
                                          infoButton.frame.size.height + 50);
    [infoButton setFrame:newInfoButtonRect];

Возможно, вы захотите остерегаться, если вы используете фоновое изображение в противоположностьк изображению (button setBackgroundImage: против button setImage: forState:), потому что фоновое изображение будет растягиваться с рамкой, в то время как нормальное изображение не будет.

0 голосов
/ 01 июля 2010

Вы всегда можете сделать его рамку больше, т.е. yourButton.frame = CGMRectMake(0,0,60,60); Обычно я делаю это при добавлении одной из информационных кнопок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...