Как подключить несколько кнопок в раскадровке к одному действию?

В настоящее время я использую Xcode 4.6, и мне просто интересно, как выбрать несколько кнопок в разных UIView, но под одним контроллером. Щелчок CMD не работает. Мне нужна эта функциональность, потому что в Xcode 4.6 единственный способ позволить двум кнопкам на IB делиться одним и тем же действием – это выбрать их сразу, а затем перетащить действие на ваш контроллер представления.

Моя конечная цель – получить две разные кнопки на двух разных UIView, чтобы соответствовать тому же действию с использованием раскадровки в Xcode 4.6. Есть ли способ сделать это?

EDIT: В настоящее время я использую Xcode 4.6.1 без везения, обновляя до 4.6.2.

Вы можете подключить несколько кнопок к одному действию, не выбирая их все одновременно.

Однако после создания действия вам необходимо сохранить исходный файл, содержащий действие до того, как Xcode позволит вам подключить другой элемент управления к действию.

Я сделал это с Xcode 4.6.2:

подключение кнопок к действию

Выполните следующие действия.

1. Создайте контроллер IBAction In View

В .h файле

-(IBAction)action:(id)sender; 

В файле .m

 -(IBAction)action:(id)sender{ } 

2. Подключить все кнопки к этому действию

введите описание изображения здесь

3. Дайте каждой кнопке тег, следуя следующему изображению введите описание изображения здесь

4. Теперь внутри вашей функции действия поместите эти

  -(IBAction)action:(id)sender{ UIButton *button=(UIButton*)sender; if(button.tag==1){ //your stuff! } if(button.tag==2){ //your stuff! } if(button.tag==3){ //your stuff! } } 

Run и Go.

Swift 3.0 Xcode 8.0+

Подключите все кнопки к подписи метода. Убедитесь, что отправитель аргументов имеет тип UIButton (или подкласс UIButton) , чтобы подключить остальные кнопки из раскадровки.

 @IBAction func dialconfigTapped(_ sender: UIButton) {} 

Используйте sender.tag, чтобы идентифицировать нажатую кнопку.

Вы должны быть в состоянии сделать это в IB. В IB просто укажите их в том же IBAction в соответствующем классе.

Когда действие наступит, если вы хотите узнать, с какой кнопкой вы получили действие, вы можете затем различать кнопки в методе IBAction либо путем чтения текста с помощью кнопки, либо с помощью атрибута tag который вы должны установить из IB ,

 - (IBAction)buttonClicked:(id)sender { NSLog(@"Button pressed: %@", [sender currentTitle]); NSLog(@"Button pressed: %@", [sender tag]); } 

Вы можете использовать IBOutletCollection следующая ссылка поможет вам в использовании этого

http://useyourloaf.com/blog/2011/03/28/interface-builder-outlet-collections.html

В Xcode 5 после установки действия для 1-й кнопки мне нужно создать приложение. Это позволяет мне подключить другие действия кнопок к этому же методу IBAction

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

  • Ошибка UIButton с изображением и надписью
  • Скрыть контейнер представления с помощью кнопки в ViewContainer
  • Как определить событие touch end для UIButton?
  • UIButton не сразу обнаруживает Touch Down
  • Можно сгибать UISlider пополам, чтобы сделать угол 90 °?
  • На iOS, как сделать динамический список «ссылок» или кнопок вызывать метод со строковым аргументом?
  • Задать название кнопки в двух разных цветах в iOS
  • Как открыть браузер iPhone по умолчанию?
  • Объект c - Кнопка внутри табличного вида предотвращает прокрутку таблицы
  • Как создать UIButton в верхнем левом углу UIImageView и нижнем правом углу
  • UIBarButtonItem с закругленными углами и тенью
  • Давайте будем гением компьютера.