0

いくつかのラベルを自動生成しましたが、xcodeのタグを使用して他のラベルの値を取得することにより、ラベルの値を上書きする必要があります。

これは私のonclickコードです:

- (IBAction)onClick1:(id)sender 
{

    NSString *title = [(UIButton *)sender currentTitle];
    NSLog(@"title ~~~~~~~~~~~ %@",title);
    for(i=0;i<vCount;i++) {
        pStr = [NSString stringWithFormat:@"%c",[pStrName characterAtIndex:i]];
        [pLblMyLable1 setTag:j+1];  
        iTag = [pLblMyLable1 tag];
        NSLog(@"ssssstttttrrrrriinnnngggg on click %@", pStr);
        if([title isEqualToString:pStr]){
            //pStr = [NSString stringWithFormat:@"%c",[pStrName characterAtIndex:i]];
            NSLog(@"came into if");
            pLblMyLable1.text = pStr;
        //pLblMyLable1 = [self.view viewWithTag:iTag];
        //  pStr = [pLblMyLable1.text:iTag];
            /*pLblMyLable1 = [self.view viewWithTag:1];
            pLblMyLable1 = [self.view viewWithTag:2];
            pLblMyLable1 = [self.view viewWithTag:3];
            pLblMyLable1 = [self.view viewWithTag:4];
            pLblMyLable1 = [self.view viewWithTag:5];
            pLblMyLable1 = [self.view viewWithTag:6];*/
}
4

2 に答える 2

0

UILabelのみを取得するすべてのサブビューを列挙する必要があります。これは次のように実行できます。

for(UIView *subview in self.view.subviews){
    if([subview isKindOfClass:[UILabel class]]){
        NSLog(@"%d", [(UILabel*)subview tag]);
    }
}

これにより、正しい方向に進むことができます。

コメントに応じて編集:これを試して、エラーがなくなるかどうかを確認できます。

for(UIView *subview in [self.view subviews]){
        if([subview isKindOfClass:[UILabel class]]){
            NSLog(@"%d", [subview tag]);
        }
}
于 2012-08-02T07:20:44.257 に答える
0

これは私が単一のラベルを使用して以来私がしたことでした....今はうまく機能し、興味深くうまく機能します

NSString *title = [(UIButton *)sender currentTitle];
for(i=0;i<vCount;i++) {
    for (NSString* key in Name){
        UILabel *Select = (UILabel*)[self.view viewWithTag:[key intValue]];
        if ([title isEqualToString:Select.text]) { 
        Str = [NSString stringWithFormat:@"%c",[pStrName characterAtIndex:i]];

}}

于 2012-08-08T06:46:33.410 に答える