2012-10-26 11 views

Odpowiedz

2

Ponieważ nie mogę znaleźć sposobu na dodanie klawiatury wiążącą NSSegmentedControl pośrednictwem interfejsu konstruktora, zrobiłem id programowo. Stworzyłem klasę zwyczaj oknie o nazwie PMWindow:

@implementation PMWindow 

- (BOOL)acceptsFirstResponder { 
    return YES; 
} 

- (void)keyDown:(NSEvent *)theEvent { 
    if([self.viewController.lastNextControl isEnabled]) { 
     if([theEvent keyCode] == 123) { 
      [self.viewController last]; 
     } else if([theEvent keyCode] == 124) { 
      [self.viewController next]; 
     } 
    } 
} 

@end 

dodałam mój widok kontroler o nazwie PMViewController przez konstruktora interfejsu do PMWindow klasy okna. W tym przykładzie mam reakcji na klawisze, < strzałka w lewo> (123) i < strzałka w prawo> (124).

Dla kompletności tym przykładzie dodałem tutaj wdrożenie metody, która jest wywoływana, gdy ktoś uderza komórkę mojego elementu NSSegmentedControl:

- (IBAction)lastOrNext:(id)sender { 
    switch ([sender selectedSegment]) { 
     case 0: 
      [self last]; 
      break; 
     case 1: 
      [self next]; 
      break; 
    } 
} 
Powiązane problemy