Я пытаюсь написать программу, в которой пользователь нажимает UIButton, а затем текст кнопки появится в UILabel. Однако несколько кнопок могут инициировать полученный метод, и поэтому текст внутри метки будет изменяться. У меня есть клавиатура с номером, которую я создал с кнопками, аналогичными кнопкам телефона, а затем, когда нажимается кнопка, номер на кнопке добавится в конец строки в UILabel. Например, если нажата кнопка «2», на этикетке появится две. Если нажата кнопка «3», этикетка будет перезаписывать себя, чтобы сказать «23.». Пример моего кода для этого ниже:ObjectiveC: нажатие кнопки приводит к появлению номера на экране?
NSString *str = [answerField text];
if ([[sender titleLabel] isEqual:@"0"]){
[str stringByAppendingString:@"0"];
}
Логично, что код, похоже, будет работать. answerField - это имя UILabel, и если нажатая кнопка имеет метку «0» в виде строкового литерала, я хочу добавить нуль в конец строки. К сожалению, когда я запускаю программу, ничего не происходит с меткой. Я могу нажать кнопку, но ярлык не меняется. Есть идеи? Заранее спасибо!
Является ли 'sender.titleLabel' действительно' NSString'? Или это - вывод из его названия - 'UILabel'? Если это так, 'isEqual:' не вернет 'YES' ... –
Я не уверен ... Отправитель - это объект, который вызывает метод (в данном случае одну из пронумерованных кнопок с клавиатуры). Я пытаюсь добавить текст на кнопку в конец текста внутри UILabel, answerField. Похоже, что сравнение с isEqual фактически избыточно, поэтому я удалил его из кода. Тем не менее, я все еще не уверен, как добавить текст кнопки в строку в answerField ... – jfherrm
Отправитель - это 'UIControl', который отправляет это действие. Это ваш 'UIButton'? Если это так, является ли его свойство titleLabel '' NSString'' или 'UILabel'? –