Как я устанавливаю и получаю тег UIBUTTON?

Как я устанавливаю тег для кнопки программно?

Я позже хочу выдержать сравнение с тегами для заключения

Я попробовал это

-(IBAction)buttonPressed:(id)sender{
    NSLog(@"%d", [sender tag]);
}

но это просто разрушает приложение.

Какие-либо другие идеи?

10
задан Kara 14 June 2019 в 16:05
поделиться

1 ответ

Вам необходимо передать отправителя как UIButton:

-(IBAction)buttonPressed:(id)sender{
UIButton *button = (UIButton *)sender;
NSLog(@"%d", [button tag]);
}

Изменить: что касается сообщения «неопознанный селектор» ...

Судя по вашему сообщению об ошибке, он не может вызвать метод buttonPressed в первую очередь. Обратите внимание, что в сообщении об ошибке ищется «buttonPressed» (без двоеточия в конце), но метод называется «buttonPressed:». Если вы устанавливаете цель кнопки в коде, убедитесь, что для селектора установлено значение buttonPressed:, а не только buttonPressed. Если вы устанавливаете цель в IB, возможно, xib не синхронизирован с кодом.

Кроме того, ваш исходный код «[тег отправителя]» также должен работать, но для доступа к свойствам, зависящим от кнопки, вам все равно необходимо преобразовать его в UIButton.

13
ответ дан 3 December 2019 в 21:21
поделиться