Как получить номер тега UIButton - PullRequest
3 голосов
/ 21 июля 2011

Я использую Различную кнопку, и я установил ее тег из файлов Xib. И подключил все кнопки к одному методу -(void) note:(id)sender.

Теперь я хочу получить тэг number.so, чтобы я мог видеть, какая кнопка нажата

-(void) note:(id)sender

{

    NotesClass *note = [[NotesClass alloc] initWithNibName:@"NotesClass" bundle:nil];
    note.notetag = sender;
    NSLog(@"%@",note.notetag);
    [self.navigationController pushViewController:note animated:YES];

}

Когда Print this NSlog, я получаю этот вывод:

<UIButton: 0x4e70350; frame = (227 119; 20 18); opaque = NO; autoresize = RM+BM; tag = 1; layer = <CALayer: 0x4e70480>>

Любой может помочь мне.

Ответы [ 5 ]

12 голосов
/ 21 июля 2011

Попробуйте следующий код, он наверняка поможет вам

UIButton *button = (UIButton *)sender;
    NSInteger bTag = button.tag;
1 голос
/ 21 июля 2011
in .H file write below code

@interface tagViewController : UIViewController {

    UIButton *btn1;
}
@property(nonatomic,retain)IBOutlet UIButton *btn1;
-(IBAction)btnclicked:(id)sender;
@end

and in .M file write below code

-(IBAction)btnclicked:(id)sender
{
    btn1 = (UIButton *)sender;

    NSLog(@"You Press Button No %d",btn1.tag);

}

Don't forgate maping of your button Suppose i have three button and i set it tag 1,2,3 and then after mapping all of them with  btnclicked: in TouchUp Inside Event and then after run it it's working...
1 голос
/ 21 июля 2011
(void) note:(id)sender

{

    NotesClass *note = [[NotesClass alloc] initWithNibName:@"NotesClass" bundle:nil];
    note.notetag = [sender tag];
    NSLog(@"%d",note.notetag);
    [self.navigationController pushViewController:note animated:YES];

}
1 голос
/ 21 июля 2011
-(void) note:(id)sender

{

NotesClass *note = [[NotesClass alloc] initWithNibName:@"NotesClass" bundle:nil];
note.notetag = [sender tag];
NSLog(@"%d",note.notetag);
//Another option is to use

UIButton *button = (UIButton *)sender;
NSLog(@"%d",button.tag);
[self.navigationController pushViewController:note animated:YES];

}

Это %d, а не %@, поскольку tag имеет тип int

1 голос
/ 21 июля 2011

Вы можете получить тег с

sender.tag
...