これが私のコードです:
if([pantallas objectForKey:par]){
UIView *vista= [[UIView alloc] initWithFrame:self.Botones.frame];
vista.backgroundColor= [UIColor brownColor];
CGSize la= CGSizeMake(50,60);
int cuantos= [part2 count];
NSArray *arr= [COLGenerales tileN:cuantos RectsOfSize:la intoSpaceOf:vista.frame withMaxPerRow:5 spaceVertical:10 spaceHorizontal:10];
for(int j=0; j<cuantos; j++){
UIButton *bot= [[UIButton alloc] initWithFrame:[[arr objectAtIndex:j] CGRectValue]];
bot.tag=j;
bot.titleLabel.text=par;
bot.titleLabel.hidden=true;
bot.imageView.image = [UIImage imageNamed:[[part2 allKeys] objectAtIndex:j]];
[bot addTarget:self action:@selector(registrar:) forControlEvents:UIControlEventTouchDown];
[vista addSubview:bot];
}
[pantallas setObject:vista forKey:par];
self.Botones= vista;
}else{
self.Botones= [pantallas objectForKey:par];
}
Botones は、このクラスが制御するビューに埋め込まれた単純なビューです (最初に Nib ファイルによって開始されます)。COLGenerales のクラス メソッドは、NSValues としてコード化された CGRects の配列を返します。registrar: はローカル メソッドです。
すべてが適切に設定されます (デバッガーで徹底的に確認しました)。ビューが正常に作成、設定され、ディクショナリに追加されます。
ただし、実際の画面が変わることは絶対にありません。ボタンに何らかの問題がないかどうかを確認するためだけに、背景色の変更も含めました。何もない。これに対する提案された解決策はありますか?