2014-01-22 3 views
5

В Interface Builder, при контроле, щелкнув по NSTextField, имеется опция Sent Actions. Я думал, что это вызовет действие при нажатии на мой NSTextField (который не редактируется), но он не работает.Что такое опция «Отправленные действия» для NSTextField?

enter image description here

Любой ключ от цели этого варианта?

ответ

2

В приведенных ниже объяснениях описано, как подключить действие к объекту, который появится в поле «Отправленные действия». В вашем случае это будет NSTextField. Например, вот вопрос о том, как добавить конкретное действие к NSTextField: Send action from NSTextField when on key up instead of return.

Все это может быть неуместно, так как вы работаете с нередактируемым NSTextField. Тем не менее, если вы хотите добавить действие click, здесь можно найти решение: Which delegate method should I use to respond to clicks on an NSTextField?.

  • How to connect a button to a method on Mac OS X

    При нажатии правой кнопкой мыши на кнопке в Mac бобах, performClick: под Received действия; это не событие. Единственной записью в разделе «Отправленные действия» является «селектор», который является единственной вещью, которую вы можете подключить к действию на другом объекте .

    Потому что есть только один «послали событие», вы обычно просто контроля перетаскивания/правосторонним сопротивление от управления до цели и выбрать действия, а не управление кнопкой мыши, выбрав событие и перетащить От этого.

  • Create the connection from the button to the action

    Теперь, щелкните правой кнопкой мыши (или Ctrl-клик) на кнопке вы добавили ранее, показать его инспектору панели. На этой панели вы увидите раздел под названием «Отправленные действия» с указанием одного элемента; этот элемент называется «Селектор», поскольку он еще не подключен к методу действий. Чтобы установить соединение, перетащите его с целевого объекта (круг на справа) на объект контроллера в окне документа.

  • Adding an action to a GUI item - Slide 12/13

    1. Написать код действия как метод любого класса, который знает IB (например: ... AppDelegate или любой класс ваших собственных решений, что вы делаете известный IB)
    2. Нажмите на элемент графического интерфейса пользователя в окне приложения, действие которого вы хотите установить
    3. Откройте Connections Inspector

      В списке «Отправленные действия» вы увидите «селектор», для этого элемента. Нажмите на пустой круг вправо и перетащите его в окно MainMenu.xib в класс, в котором реализован метод действия ; отпустите его там.

      После выпуска отображается список всех реализованных методов, которые могут служить в качестве действий. Выберите один с помощью мыши и нажмите на нее.

      Этот процесс соответствует шаблону целевого действия, который мы использовали при написании приложения без IB. Метод действия должен быть написан с одним параметром идентификатора типа.

0
- (void)viewDidLoad 
{ 
    _txt_city.delegate = self; 
    _txt_city.tag = 1000; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
} 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;  // return NO to disallow editing. 
{ 
    if(textField.tag == 1000) 
    { 
     // Create event; 
     return YES; 
    } 
    else 
    { 

    } 
    return YES; 
} 
Смежные вопросы