0

私のアプリケーションでは、10 個UIButtonの s と 5 個のテキスト値の配列があります。各値を 10 個のボタンに 2 回割り当てたいですか? ここに私のコード

NSString *name;
int value = rand() % ([texts count] -1) ;
for(UIView *view in self.view.subviews)
{
    if([view isKindOfClass:[UIButton class]])
    {
        UIButton *button = (UIButton *)view;
        if(button.tag == 1||button.tag == 2||button.tag == 3||button.tag == 4||button.tag == 5||button.tag == 6||button.tag == 7||button.tag == 8||button.tag == 9||button.tag == 10||button.tag == 11||button.tag == 12||button.tag == 13||button.tag == 14||button.tag == 15||button.tag == 16||button.tag == 17||button.tag == 18||button.tag == 19||button.tag == 20)
        {
             name=[NSString stringWithFormat:@"%@",[texts objectAtIndex:value]];
            [button setTitle:name forState:UIControlStateNormal];
            NSLog(@"current  name :%@",name);
        }
    }
   }  

2つのボタンでタイトルのみに変更するのを手伝ってください

4

3 に答える 3

1

これを実装するトリッキーな方法の 1 つは、UIButton にタグを付けることです。button1 と button2 のタイトルを同じにしたい場合は、提供しますbutton1.tag = 1( 0 はbutton2.tag = 100self.viewbutton2.tag = button1.tag * 100の予約済みタグであるため、タグとして 0 で開始しないでください)。 XIBから、またはプログラムで実行できます。さらに、次を実行します

for (int i = 0 ;i < [array count] ; i++) {
int myTag = i + 1;

UIButton *button1 = [self.view viewWithTag:myTag];
    [button1 setTitle:[array objectAtIndex:i] forState:UIControlStateNormal];

UIButton *button2 = [self.view viewWithTag:myTag * 100];
    [button2 setTitle:[array objectAtIndex:i] forState:UIControlStateNormal];

 }
于 2012-11-01T07:05:30.467 に答える
0

私はあなたのコードを変更しているだけです、これはあなたを助けるかもしれません、それでも問題があれば、私に知らせてください

ありがとう

int i=1; 
int value = rand() % ([texts count] -1) ;
for(UIView *view in self.view.subviews)
{
    if([view isKindOfClass:[UIButton class]])
    {   

if(button.tag == 1||button.tag == 2||button.tag == 3||button.tag == 4||button.tag == 5||button.tag == 6||button.tag == 7||button.tag == 8||button.tag == 9||button.tag == 10||button.tag == 11||button.tag == 12||button.tag == 13||button.tag == 14||button.tag == 15||button.tag == 16||button.tag == 17||button.tag == 18||button.tag == 19||button.tag == 20)
    {
      int myTag= i+1;  
      UIButton *button1 = [self.view viewWithTag:myTag]; 
      name=[NSString stringWithFormat:@"%@",[texts objectAtIndex:value]];
       [button1 setTitle:name forState:UIControlStateNormal];
        NSLog(@"current  name :%@",name);
    }
     i++;
}
于 2012-11-01T09:39:50.173 に答える
0
NSArray *texts = [[NSArray alloc] initWithObjects:@"string 1",@"string 2",@"string 3",@"string 4",@"string 5",nil];
NSArray *buttons = [self.view subviews];
int t=0;
for (int i=0; i<[buttons count]; i++) {
    id view = [buttons objectAtIndex:i];
    if ([view isKindOfClass:[UIButton class]]) {
        UIButton *button = (UIButton *)view;
        [button setTitle:[texts objectAtIndex:t/2] forState:UIControlStateNormal];
        t++;
    }
}
[texts release];
于 2012-11-01T08:07:27.930 に答える