lMenu_time(これはUILabelです)のテキストを最初に設定した後で変更できません。 コールバックが実行されましたが、これをテストしましたが、テキストは変更されません。 ??ポインタを回してUILabelを調整しています。 ??UILabelのテキストは変更されませんか?
lMenu_timeとその他多数のヘッダファイルが定義されています。あなたのコンソール出力が「私のラベルがある場合は、次を設定しようとする直前に
UILabel *lMenu_time;
...
-(void) NewNumber: (UIButton*) btn {
if (btn.tag == 102){
iTime++;
[lbl setText:@"time"];
if(iTime > 20){iTime=1;}
[lMenu_time setText:[NSString stringWithFormat: @"Hold: %d", iTime]];
}
....
}
- (void) menuItem: (UIView*)vMenu menuButton:(UIButton*)bMenu menuLabel: (UILabel*)lMenu menuPosX: (double)posX menuLenX: (double)lenX menuTagNum: (int)tagNum menuText: (NSString*)txtMenu{
bMenu = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[bMenu setFrame:CGRectMake(posX,0,lenX,25)];
[bMenu setTag: tagNum];
[bMenu addTarget:self action:@selector(NewNumber:) forControlEvents:UIControlEventTouchUpInside];
[vMenu addSubview:bMenu];
lMenu = [[[UILabel alloc] initWithFrame:CGRectMake(posX,0,lenX,25)] retain];
[lMenu setBackgroundColor:[UIColor lightGrayColor]];
[lMenu setText:[NSString stringWithFormat: txtMenu]];
[lMenu setFont:[UIFont systemFontOfSize:14 ]];
[lMenu setTextAlignment:UITextAlignmentCenter];
[vMenu addSubview: lMenu];
}
- (void) menuBuild{
pSelf = self;
theString = @"";
UIView *vMenu = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,25)];
[pSelf.view addSubview:vMenu];
[vMenu setBackgroundColor:[UIColor grayColor]];
iTime = 2;
[self menuItem:vMenu menuButton:bMenu_time menuLabel:lMenu_time menuPosX:240+20 menuLenX:60 menuTagNum:102 menuText:[NSString stringWithFormat: @"Hold: %d", iTime]];
...
}
私はそれがゼロであることを実感します。なぜそれがnullであるか分かりません。なぜそれが...私はUILabel "alloc"を行ったにもかかわらず、私は "保持"を行う必要がありますか? – jdl
lMenu_timeはView Controllerの '@ property'ですか? – Tim
コードから、そこにラベルを生成したことがわかります。 – jdl