Uibutton события - PullRequest
       13

Uibutton события

0 голосов
/ 04 июня 2009
-(void)mybuttonclick{
UGFloat p=120;
    for(int i=0;i<3;i++){   
        UIButton *aa = [UIButton buttonWithType:UIButtonTypeCustom];  
        if(i==0){        
            NSString *name=[[NSString alloc]initWithString@"ZERO"];
        }else if(i==1){
            NSString *name=[[NSString alloc]initWithString@"ONE"];
        }else if(i==2){
            NSString *name=[[NSString alloc]initWithString@"Two"];
        }else{
            NSString *name=[[NSString alloc]initWithString@"Three"];
        }
    [aa setFrame:CGRectMake(0.0f, 0.0f, 500.0f, 40.0f)];
    [aa setCenter:CGPointMake(100.0f,p)];
    [aa setBackgroundColor:[UIColor blueColor]];
    [aa addTarget:self action:@selector(fullscreen:)   forControlEvents:UIControlEventTouchUpInside];   
    [self.window addSubview:aa];
    p=p+50; 
    }
}

//----------------fullscreen method--------------------
-(void) fullscreen:(id)sender{

    NSLog(@"button pressed on %@",[sender Stringvalue]);
}

Здесь я создал 3 UIB-кнопки динамически. Когда я нажимаю первую кнопку, я хочу отобразить ZERO. При нажатии второго выведите ONE ..., затем Two, затем Three. Как я могу это сделать? Я знаю, что это можно сделать с помощью клавиш выбора, но я не знаю, как.

1 Ответ

1 голос
/ 05 июня 2009

Вы нигде не говорите о кнопке name. Вы можете установить его в заголовке кнопок заголовка с помощью [aa setTitle:name forState:UIControlStateNormal];, а затем получить доступ к fullscreen: с помощью [sender currentTitle].

Если вы хотите, чтобы сообщение не зависело от заголовка, вы можете либо создать собственный подкласс UIButton для хранения сообщения, либо назначить для каждой кнопки другое целевое действие.

Кроме того, способ построения имен хрупок. Что-то вроде этого может быть лучше:

NSArray* names = [NSArray arrayWithObjects:@"ZERO",
                                           @"ONE",
                                           @"Two",
                                           @"Three",
                                           nil];
for (NSString* name in names) {
    // Do stuff with name
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...