Вопрос

У меня есть кнопка «Начать», и я хочу знать в методе, который он называет то, что это зовут, и я не совсем уверен, как это сделать. Это метод кнопки вызовы.

-(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?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top