2014-06-05 127 views
-1

我在UIView中动态地创建了一堆按钮。我添加了所有的按钮框架和标签在一个NSMutable数组中。我有一个像“逃生”这样的词,我从中抽取每个字符并随意使用标记存储在UIButton中。但问题是它只显示最后一个字母并只能存储在一个按钮中。 请帮帮我。将值存储在nsarray的最后一个索引对象中

这是我的代码

-(void)createButtonFrame 
{ 
    for (float colCount=1;colCount<222.6;) { 
     for (float rowCount=1;rowCount<=450;) { 
      alphabetButton=[[UIButton alloc]initWithFrame:CGRectMake(rowCount-1,colCount-1,50,27.4)]; 

      alphabetButton.layer.borderColor=[UIColor grayColor].CGColor; 
       alphabetButton.layer.borderWidth = 0.8f; 
      alphabetButton.tag=tagButtonValue; 

      [masterView addSubview:alphabetButton]; 
      [btnArray addObject:alphabetButton]; 
      rowCount+=50; 
      tagButtonValue++; 
     } 
     colCount+=27.4; 
    } 

}

-(void)puAlphabetFunction 
{ 


    for (int wordCount=0;wordCount<[alphabetArray count]; wordCount++) { 
     word=[alphabetArray objectAtIndex:wordCount]; 
     [self putrandomAlphabet:word]; 

    } 
} 

-(void)putrandomAlphabet:(NSString*)wordString 
{ 


    for (int characterCount=0;characterCount<wordString.length;characterCount++) { 
     retreiveCharacter = [wordString substringWithRange:NSMakeRange(characterCount, 1)]; 
     srandom(time(NULL)); 
     int randomNumber = (random() % [btnArray count]); 
btnvalue=(UIButton *)[self.view viewWithTag:randomNumber+1]; 
     if (firstTime==0) { 
      lastIndex=randomNumber; 
      [btnvalue setTitle:retreiveCharacter forState:UIControlStateNormal]; 
      firstTime++; 

     } 
     else 
     { 

      [btnvalue setTitle:retreiveCharacter forState:UIControlStateNormal]; 
     } 
     [btnvalue setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
      [btnvalue.titleLabel setFont:[UIFont fontWithName:@"Helvetica Neue"  size:17.0]]; 


    } 
} 
+3

也显示一些代码 – Levi

+0

你试过了什么...你能显示一些代码吗? – VSN

+0

请检查我的代码。 – user3698108

回答

0

你不应该使用randon()函数。改为使用arc4random()。它将以规范化的方式生成随机数。

相关问题