Как получить имя кнопки в действии?
Вопрос
У меня есть кнопка «Начать», и я хочу знать в методе, который он называет то, что это зовут, и я не совсем уверен, как это сделать. Это метод кнопки вызовы.
-(IBAction) startMotion: (id)sender {
UIButton * buttonName = (UIButton *) sender;
NSLog(@"Button Name: %@", buttonName.currentTitle);
}
NSLog принты
Название кнопки: (NULL)
Решение 3
Я использовал неправильное свойство в интерфейсе Builder.I Использование имени свойство кнопки в интерфейсе Builder вместо свойства заголовка из настроек кнопок.
Другие советы
Вы можете установить заголовок кнопки через
[b setTitle:@"Start" forState:UIControlStateNormal];
И чтобы получить заголовок (CurrentTeTle только для чтения и может быть ниль):
[b currentTitle];
Кстати, если вы просто хотите дифференцировать несколько кнопок, вы можете просто установить свойство тега (целое значение) кнопок.
Кроме того, проверьте, есть ли у вас кнопка, указанная в качестве IBOutlet в вашем классе ViewController, и правильно ли подключено в качестве розетки в интерфейсе Builder?
Я предпочел бы установить определенный тег и сравнить значение тега, а не чтение заголовка кнопки, поскольку у вас есть возможность локализовать свое приложение, где названия кнопок будут отличаться.