У меня есть куча UILabels, которую я добавляю через код, и я хочу выполнить конкретное действие для каждого, если палец пользователя коснется внутри (подобно тому, как UIButton touchUpInside в IB). Каков наилучший способ сделать это?Программно выполнить действие на UILabel touchUpInside?
4
A
ответ
17
Самый простой способ, вероятно, использовать UIButton вместо UILabel. Пользовательский UIButton не имеет границы и может выглядеть как простая метка, но обрабатывает отслеживание событий для вас.
В противном случае вы должны получить UILabel и реализовать вызовы UIResponder для обработки касаний.
5
Вы можете использовать UITapGestureRecognizer для выполнения действий над полями Поля.
Задайте количество отводов и касаний объекта UITapGestureRecognizer.
[oneFingerTwoTaps setNumberOfTapsRequired:1];
[oneFingerTwoTaps setNumberOfTouchesRequired:1];
набор взаимодействия с пользователем поля этикетки, как
labelField.userInteractionEnabled = YES;
затем добавить целевой метод над
UITapGestureRecognizer object.
удивительным, так просто. –
Чтобы сделать кнопку более похожей на lable, вам может понадобиться многострочный текст с переворачиванием кнопки. См. Этот ответ для этого: http://stackoverflow.com/questions/604632/how-do-you-add-multi-line-text-to-a-uibutton – RajV