Пользовательская цель/действие NSControl: инструкции!

StackOverflow https://stackoverflow.com/questions/498175

  •  20-08-2019
  •  | 
  •  

Вопрос

У меня есть собственный NSControl, который действует как своего рода двумерный ползунок, с помощью которого вы можете перетаскивать маркер вокруг представления.Я добавил несколько методов, специфичных для класса, и единственными, которые я переопределил, были действия мыши и drawRect.Мой вопрос: как мне заставить его реализовать целевое действие?Как я могу заставить его вести себя как ползунок и постоянно отправлять сообщения о действиях привязанной цели?На данный момент я могу подключить его в конструкторе интерфейсов, но никаких действий не отправляется.Я много читал о таких методах, как sendActionOn:и sendAction:to:но я не знаю точно, как их использовать.Если бы кто-нибудь объяснил это, я уверен, что я бы это понял.

Это было полезно?

Решение

-sendActionOn: имеет значение только в том случае, если вы создаете подкласс NSControl и реализуете ячейку, а это не так.

В -mouseDragged: (или любой другой метод, вызываемый из -mouseDragged: чтобы изменить положение ползунка), вам нужно просто вызвать [[self target] performSelector:[self action]].

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