Итак, у меня есть UILabel
созданный в построителе интерфейса, который отображает некоторый текст по умолчанию «нажмите, чтобы начать».
Когда пользователь нажимает « UILabel
Я хочу», запускается метод IBAction:
-(IBAction)next;
который обновляет текст на этикетке, чтобы сказать что-то новое.
Было бы очень удобно, если бы это позволяло мне просто перетащить соединение из моего метода на мою метку, а затем выбрать ретушь внутри, как с помощью кнопки. но, увы, нет сигары.
так или иначе, я думаю, мой вопрос: мне нужно будет подкласс, UILabel
чтобы заставить это работать? Или есть способ перетащить кнопку над меткой, но сделать ее непрозрачной на 0%. Или мне не хватает более простого решения?
источник
UILabel наследуется от UIView, который наследуется от UIResponder. Все объекты UIresponder могут обрабатывать события касания. Итак, в вашем файле класса, который знает о вашем представлении (который содержит UIlabel), выполните:
В построителе интерфейса установите значение тега UILabel. когда касания происходят в вашем методе touchesBegan, проверьте значение тега представления, которому этот тег принадлежит:
Вы связываете свой код в файле класса с объектом UILabel в построителе интерфейса, объявляя переменную экземпляра UILabel с префиксом IBOutlet:
Затем в конструкторе интерфейсов вы можете их подключить.
источник
Вы можете использовать UIButton, сделать его прозрачным, т.е. произвольный тип без изображения, и добавить на него UILabel (по центру). Затем подключите обычные события кнопок.
источник
Swift 3
У вас есть IBOutlet
В котором вы включаете взаимодействие с пользователем и добавляете распознаватель жестов
И, наконец, возьмите кран
источник