2013-07-23 1 views
0

Я создаю radobutton имеет 2 строки и 1 столбец и задает для него действие, но оно работает не правильно, оно всегда выбрало ячейку tag = 0. Это мои коды:Получить выделенную ячейку в NSRadioButton в объекте C

 NSButtonCell *prototype= [[NSButtonCell alloc] init]; 
     [prototype setTitle:@"Normal"]; 
     [prototype setButtonType:NSRadioButton]; 
     NSRect matrixRect = NSMakeRect(170, 130, 150, 125.0); 
     NSMatrix *myMatrix = [[NSMatrix alloc] initWithFrame:matrixRect 
                 mode:NSRadioModeMatrix 
                prototype:(NSCell *)prototype 
               numberOfRows:2 
              numberOfColumns:1]; 
     [myMatrix setAction:@selector(radioButtonClicked:)]; 
     [myMatrix setTarget:self]; 
     [guiView addSubview:myMatrix]; 
     NSArray *cellArray = [myMatrix cells]; 
     //[[cellArray objectAtIndex:0] setTitle:@"Normal"]; 
     [[cellArray objectAtIndex:1] setTitle:@"Mute"]; 
     [prototype release]; 
     [myMatrix release]; 

- (IBAction)radioButtonClicked:(NSMatrix *)sender { 
    //thoahuynh - check selected tag of radio button 
    NSInteger tag = [[sender selectedCell] tag]; 
    switch (tag) { 
     case 0: 
      NSLog(@"Selected Normal"); 
      break; 
     case 1: 
      NSLog(@"Selected Mute"); 
      break; 
    }} 

Вы можете мне помочь? Заранее спасибо

ответ

0

Вам нужно установить тег для каждой кнопки.

enter image description here

1

myMatrix не имеет метки.

myMatrix должен иметь бирку.