2014-02-04 2 views
1

Я использую IKImageView для функциональности Image.Нужно получить позицию указателя мыши при выпуске

- (IBAction)switchToolMode: (id)sender 
{ 
    // switch the tool mode... 

    NSInteger newTool; 

    if ([sender isKindOfClass: [NSSegmentedControl class]]) 
     newTool = [sender selectedSegment]; 
    else 
     newTool = [sender tag]; 

    switch (newTool) 
    { 
     case 0: 
      [_imageView setCurrentToolMode: IKToolModeMove]; 
      break; 
     case 1: 
      [_imageView setCurrentToolMode: IKToolModeSelect]; 
      break; 
     case 2: 
      [_imageView setCurrentToolMode: IKToolModeCrop]; 
      break; 
     case 3: 
      [_imageView setCurrentToolMode: IKToolModeRotate]; 
      break; 
     case 4: 
      [_imageView setCurrentToolMode: IKToolModeAnnotate]; 
      break; 

    } 
} 

После [_imageView setCurrentToolMode: IKToolModeAnnotate]; называется мне нужно, чтобы получить текущее положение мыши (После того, как рисунок формы). IKToolModeAnnotate - это функция по умолчанию, поэтому я не могу найти, куда идет управление.

Может ли кто-нибудь решить мою проблему.

ответ

1

От NSApplication вы всегда можете получить последнее текущее событие, позвонив по телефону [NSApp currentEvent]. Из этого вы можете извлечь местоположение мыши.

В качестве альтернативы вы можете получить его через [NSWindow mouseLocationOutsideOfEventStream]. Я рекомендую прочитать на NSEvent, чтобы вы знали различия между этими местоположениями, которые являются системой координат, используемой для этой точки. See also NSEvent documentation.

Смежные вопросы