2015-05-03 2 views
1

Можно ли обернуть несколько элементов управления/кнопок в одну кнопку, где все кнопки реагируют (выделяют/не высвечивают), нажимают на любой из элементов, и все имеют одно и то же действие?Группируйте несколько UIButtons в одну кнопку

Я хотел бы иметь несколько «частей» (в основном этикеток и значков) кнопки, чтобы я мог управлять компоновкой по отдельности, но я хочу, чтобы все они вели себя как одна кнопка и выделяли все части, когда постучал.

Возможно, я мог отслеживать нажатое состояние каждой кнопки и сделать все остальные компоненты одинаковыми?

+0

Подключите их к одному и тому же IBAction и дайте теги в Inteface Builder. Затем m ake заявление оператора switch на эти теги? Думаю, я неправильно понял, что вы спросили? –

ответ

1

Вы можете перетащить маленькую точку на несколько кнопок на ваш взгляд, и все эти кнопки будут запускать один и тот же код IBAction.

IBAction Connector

Если вы хотите, чтобы различать их, вы можете использовать теги в интерфейсе строителя, а затем вызвать на этих тегов с [sender tag]

Tag

Так что ваш IBAction может выглядеть немного, как это :

- (IBAction)button_myButtonWasPressed:(id)sender { 

    if ([sender tag] == 0) { 
     // This will run for button tag 0 
    } 

    if ([sender tag] == 1) { 
     // This will run for button tag 1 
    } 
} 
+0

Спасибо. Меня больше интересовало все это вместе. Любые мысли о том, как это сделать? – devios1

+1

Я бы поместил ваши кнопки в массив, а затем использовал быструю перечисление для цикла, чтобы запустить '[buttonAtIndex setSelected: YES];' на каждой кнопке (где 'buttonAtIndex' - это то, что вы объявляете во встраиваемом цикле). Вы можете сделать все, что выше первого оператора if в IBAction, и он будет запускаться с каждой кнопкой, нажатием любой кнопки, прикрепленной к этому IBAction. – Cole

+0

Удивительный Я дам ему шанс! – devios1

Смежные вопросы