Вопрос по nsmutablearray, objective-c, iphone, ios, uibutton – Поместить случайный заголовок UIButtons для NSMutableArray в UIButtons of NSMutablearray

1

У меня есть NSMutableArray с 3 кнопками UIB и второй NSMutableArray с 50 кнопками UIB. Я хочу взять эти 3 заголовка UIButtons для назначения его символ за символом для каждой UIButton of SecondArray.but Каждый из этих 50 UIButtons of Second Array уже имеет один Character.Моя цель состоит в том, чтобы в первую очередь я хотел проверить длину каждого заголовок uibutton моего первого массива, затем присвойте его индексу по индексу для UIButton во втором массиве. (Для Exp, если у моей первой кнопки есть заголовки «стек», второй «над» и третий «поток») нет, я хочу назначить UIButtons для индекса 0-5, 13-16,35-38 во втором массиве). Мой первый массив, который имеет 3 UIBttons. Есть код.

NSMutableArray *buttons = [NSMutableArray arrayWithObjects:btn1, btn2, btn3, nil];
            [btn1 setTitle:@"stack" forState:UIControlStateNormal]; 
            [btn2 setTitle:@"over" forState:UIControlStateNormal]; 
            [btn3 setTitle:@"flow" forState:UIControlStateNormal]; 

Вот мой код. Для создания 50 кнопок UIB.

 -(void)button:(id)sender {
  saveBtn = [[NSMutableArray alloc] init];
  arr=[[NSArray alloc]
  initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",
     @"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",nil];

    for (int i=0; i<50; i++) {
            btn = [UIButton   buttonWithType:UIButtonTypeRoundedRect];
            btn.frame = CGRectMake(spacex, spacey, 30.0, 30.0);
            int idx;
            idx = arc4random()%[arr count];
            NSString* titre = [arr objectAtIndex:idx];
            [btn setTitle:titre forState:UIControlStateNormal];   
            spacex = spacex + 30;
            [saveBtn addObject:btn];
            [self.view addSubview:btn];

        }


            }

Никто не подскажет мне, как я могу назначить свои заголовки UIB-кнопок этим UIB-кнопкам по определенному индексу. Thanx

Я действительно не понимаю ваш вопрос ... Вы добавляете 50 кнопок со случайными заголовками от "A" до "Z" и сохраняете их в saveBtn, а затем отображаете их все с разными координатами x? В чем проблема Martol1ni
Я не думаю, что это хорошая идея - создать массив кнопок в методе обработчика событий-(void)button:(id)sender. Или это нарочно? Вы могли создавать кнопки раньше (в каком-то методе init или loadView) и назначать их заголовки только в обработчике событий. Во всяком случае, что касается вашего основного вопроса: можете ли вы еще уточнить, чего именно вы хотите достичь? Вы можете назначить название кнопки с определенным индексом с[(UIButton *)[saveBtn objectAtIndex: index] setTitle:@"title" forState: UIControlStateNormal];. Не уверен, что это твой вопрос Rok Jarc
Уважаемый прав, но я хочу заменить эти случайные заголовки "A" на "Z" из тех uibutton, где я хочу назначить свои первые заголовки uibutton Array "stack", "over" и "flow" для определенного индекса. обсуждаемый jamil

Ваш Ответ

1   ответ
2

помогите другим.

 - (void)getbuttontitle {
   for(int i = 0;i<[buttons count];i++)
  {
     if(i == 0)
    {
     UIButton *b1 = [buttons objectAtIndex:0];
      a = (NSString *)[[b1 titleLabel] text];
        [storewords addObject:a];
        NSLog(@"b=%@",a);
        }
    else if(i == 1)
    {

    }
    else if(i == 2)
    { 

    }
 }
}

    for (NSString *str in storewords) {
        if (str==a) {
            int j = 0;
            int randn= (arc4random()%5)+1 ;
            NSLog(@"n=%d",randn);
            for (int i=randn; i<[a length]+randn; i++) {
                NSLog(@"a=%@",a);
                NSString *ichar  = [NSString stringWithFormat:@"%c", [a characterAtIndex:j]];
                UIButton*  b = [saveBtn objectAtIndex:i];
                NSLog(@"a=%@",ichar);
                j++;
                [b setTitle:ichar forState:UIControlStateNormal]; 
            }   
        }

        if (str==c) {


        }   

        if (str==d) {

        }       
    }

Похожие вопросы