Как я могу взять значение текста NSButton, например, если я использую 2 кнопки с текстом Нажмите и Отмените, я хочу проверить, какая кнопка нажата, а затем показать сообщение с NSRunAlertPanel (...), какую кнопку я нажал .. что код должен я писать для него, когда нажимается кнопка.Как взять текстовое значение NSButton?
ответ
В вашем методе действий вы получаете аргумент, обычно называемый «отправитель», который является кнопкой. Таким образом, вы могли бы сделать что-то вроде:
- (IBAction)buttonClicked:(id)sender
{
if ([[sender title] isEqualToString:@"Click"]) {
NSLog(@"Click clicked.");
} else if ([[sender title] isEqualToString:@"Cancel"]) {
NSLog(@"Cancel clicked.");
}
}
Это лучше не использовать название для проверки кнопки, так как название может меняться в различных локализациях. Вместо этого вы можете указать tag
, который является просто int и который может использоваться для идентификации разных отправителей.
Способ, которым это обычно реализуется, состоит в том, что каждая кнопка вызывает другое действие, поэтому нет необходимости проверять текст кнопки. См. The Target-Action Mechanism.
В общем, почти всегда плохая идея использовать видимый пользователем текст для управления программной логикой, потому что это затрудняет локализацию.
Возможно, вам также захочется описать вашу ситуацию дальше. Вы используете интерфейс Builder для создания вашего интерфейса? Являются ли эти кнопки в модальном диалоговом окне или окне документа?
ладно, я понимаю вашу точку зрения. Я просто пытался попробовать, если бы мог это сделать, с модальным диалогом, да, я использовал построитель интерфейсов. спасибо за указатель .. :) – maddy
Вы можете указать кнопку на вкладке информации о классе окна инспектора в Interface Builder, а затем объявить ее как IBOutlet в своем делете приложения.
AppDelegate.h:
IBOutlet NSButton *ClickButton;
IBOutlet NSButton *CancelButton;
Затем подключить выход в Interface Builder, и просто проверить, чтобы увидеть, какая кнопка является отправителем в методе:
- (IBAction)buttonClicked:(id)sender
{
if (sender == ClickButton) {
NSLog(@"Click clicked.");
}
else {
NSLog(@"Cancel clicked.");
}
}
- 1. Как сделать NSButton над NSButton?
- 2. Как взять текстовое поле на пользовательском представлении
- 3. Простой NSButton Hiding Другой NSButton
- 4. Как сделать плоский NSButton?
- 5. Iphoto как NSButton
- 6. Draggable NSButton
- 7. Как получить текстовое значение из GText.view?
- 8. взять другое текстовое поле в то время как слушатель
- 9. Как взять управление/курсор в другое текстовое поле
- 10. NSButton Alternate Title binding
- 11. NSButton bezelColor
- 12. Массив NSButton
- 13. JQuery. Как взять одно значение из xml?
- 14. Как взять только определенное значение из строки?
- 15. Как я могу взять значение метки валюты?
- 16. Как взять значение массива объекта в php?
- 17. Как взять абсолютное значение std_logic_vector? в VHDL
- 18. Как мне взять значение из этой области $
- 19. как взять значение из функции с аргументами?
- 20. Как взять значение полей из другой таблицы?
- 21. Как взять ключевое значение из массива?
- 22. взять значение bool и отобразить как checkbox
- 23. Как взять значение байта из этого класса?
- 24. Как преобразовать текстовое значение в числовое значение?
- 25. Как получить текстовое значение объекта?
- 26. Как получить текстовое значение JRadioButton
- 27. Как посмотреть текстовое значение метки?
- 28. Обработать текстовое значение как поле
- 29. Как получить текстовое значение элемента
- 30. как подтвердить количество текстовое значение
спасибо, это помогло мне. Я также попытаюсь проверить его с помощью тега. – maddy