Я использую Xcode 8 beta. Я не могу перетащить несколько UIButtons из раскадровки, чтобы подключиться к одному @IBAction в быстром файле. Ошибка? Спасибо за вашу помощь.Xcode8 не может подключить несколько/одиночных uibuttons к одному @IBAction в быстром файле
ответ
Если уместно, вам нужно использовать UIGestureRecognizer
, чтобы приложить несколько вещей к одному действию.
Что вы можете сделать, это разместить на каждой кнопке UIGestureRecognizer
, а затем настроить одну из них, как обычно, с помощью кнопки (ctrl-drag), чем ctrl-drag от других распознавателей жестов до первого действия, которое вы сделали ,
Я думаю, это еще одна проблема: если вы попытаетесь создать IBAction в первый раз, он отлично работает. Но если по какой-либо причине вы решили повторно подключить IBAction (такое же действие к другому объекту или переименовать функцию), тогда он не удастся.
Фактически вы создаете IBAction под названием doSomething
, который создает функцию func doSomething(sender: UIButton)
. Но с XCode 8 (или Swift 2.3/3.0) этот метод интерпретируется как func doSomethingWithSender(sender: UIButton)
.
Я предполагаю, что это ошибка, Apple слишком сильно усложнила «переименование Objc-методов».
Вы нашли решение для этого? –
Нет, это, очевидно, проблема в Xcode. Либо Apple исправляет это, либо конвертирует ваш код в Swift 3. –
Используя это обходное решение, вы можете добавить существующее действие, а также можете подключить несколько кнопок к одному действию.
Я думаю, что есть ошибка в Xcode8. Вы можете добавить несколько кнопок/Single для одного действия/функции путем изменения sender
к _ sender
например: - Нормальная кнопка
@IBAction func huu(sender: UIButton) {
}
Вы не можете добавить несколько кнопок или одну кнопку для этого действия вам нужно просто измените это, а затем вы можете добавить несколько кнопок, используя перетаскивание и подключение из раскадровки.
@IBAction func huu(_ sender: UIButton) {
}
После подключения IBOutlets Xcode покажет предупреждение, как это: -
Чтобы удалить это предупреждение просто удалить _
знак от действия/функции. Убедитесь, что для удаления _
после подключения IBOutlets
Надеюсь, что это поможет вам! :)
Это отличный ответ и работает с версией Xcode 8. Спасибо! Другая идея - полностью удалить аргумент. –
@ Chathuranga Silva - Это сработало для меня, спасибо. @ Daniel T, который тоже работал, спасибо. –
Это работает ... Меня огорчает то, что мы собираемся на такой длине использовать стабильную версию Xcode в наши дни ... – Kirualex
Если изменить отправителя AnyObject в отличие от любого или UIButton это позволит вам подключить несколько кнопок к тому же действию.
Это работает. Я перехожу к 'AnyObject', и он работает. По-видимому, это ошибка в Xcode 8.2.1. – AechoLiu
При подключении кнопки действия, по умолчанию метод выглядит следующим образом:
@IBAction func s(_ sender: Any) {
}
Просто измените Любой к UIButton и вы можете подключить несколько кнопок действий для этого конкретного метода.
Таким образом, после изменения он должен выглядеть следующим образом:
@IBAction func s(_ sender: UIButton) {
}
Надеется, что это решит проблему. :)
Я изменил отправителя UIButton из любого
сопротивления управления кнопку с именем функции.
IN Swift 3 полная версия это будет работать.
Просто измените любой элемент на UIButton, и вы можете подключить к нему другие действия с кнопками.
Таким образом, после изменения он должен выглядеть следующим образом:
@IBAction FUNC с (_ отправитель: UIButton) {} Конечно, это решит проблему. :)
Если вы измените «Любой» на «UIButton», он будет работать.
Я много раз пытался, наконец, я получил результат, как,
Нормальной UIAction
@IBAction func selectBtn(_ sender: Any) {
}
для нескольких кнопок с таким же методом UIAction, попробуйте ниже метода,
@IBAction func selectBtn(_ sender: UIButton) {
}
Это сработало для меня. Я изменил тип возврата с «Любые» на «UIButton»
Ниже IBAction будет работать только для одной кнопки.
@IBAction func singleButton(sender: Any) {
// Write your logic
}
Ниже IBAction будет работать с несколькими кнопками.
@IBAction func multipleButton(sender: UIButton) {
// To find a particular button from an array of buttons
if sender.tag == 1{
// Write your logic
}else if sender.tag == 2{
// Write your logic
}
}
- 1. Как подключить несколько UIButtons к одному событию IBAction и получать?
- 2. Не удается подключить несколько UIButtons к моему IBAction
- 3. Можно ли подключать несколько кнопок к одному IBAction, это Xcode 8?
- 4. Не удается подключить пользовательскую IBAction к кнопке
- 5. subviews с UIButtons - как подключить кнопки к IBActions
- 6. Программирующее создание UIButtons и ассоциирование с IBAction
- 7. UISwitch не подключается к @IBAction
- 8. Невозможно подключить IBAction для просмотра
- 9. Можно подключить несколько сигналов к одному слоту
- 10. Подключить несколько клиентов к одному серверу
- 11. Как подключить несколько клиентов к одному серверу?
- 12. Добавление 2 разных действий к одному IBAction - Случайный выбор
- 13. Как подключить несколько переменных к одному вектору
- 14. подключить несколько QSliders к одному слоту
- 15. Можно подключить больше изменений TFS к одному?
- 16. Как подключить IBAction и пункт меню к первому ответчику?
- 17. Как подключить 20 форм к одному «OnMouseDown»?
- 18. Как получить анимированный аффект клавиатуры iPhone в UIbuttons в быстром?
- 19. IBAction не подключается к моему элементу
- 20. IBAction не может быть настроен на кнопку
- 21. Получить информацию об отправителе от GestureRecognizer привязан к мульти UIButtons
- 22. Что быстрее? IBAction или программно?
- 23. Вложенные для петель в быстром 3 для uibuttons титул
- 24. IBAction не появляется в
- 25. Отправить UIButtons прикоснуться к таблице?
- 26. Подключение нескольких кнопок к одному действию?
- 27. не может конвертировать NSURLSession в быстром 3
- 28. Почему мой IBAction не подключается?
- 29. Кнопка в быстром подключении к случайной раскадровке (версия Xcode 8.2.1
- 30. Раскадровка не открывается в XCode8
Благодарим за быстрый ответ. Я считаю, что это сработает. Однако в предыдущей версии XCode вы можете просто перетаскивать несколько кнопок непосредственно на один IBAction. С бета-кодом xcode я больше не могу этого делать. В итоге я просто подключил его через инспектор соединений. –