テーブルに画像を追加する方法は 2 つありますが、どちらが最も効率的で、より良い方法はありますか? どちらの方法も、「レイヤー オブジェクト」を使用してボタンの上に配置されます。
また、シミュレーターでテーブルのスクロールが遅いことに気付きましたが、この遅いスクロールは実際の電話でも発生する可能性がありますか? 理由がわかる唯一の理由は、おそらくボタンを関連付けていないためですが、メモリまたは各セルへの描画に関連する他の何かである可能性があります。画像はURLから来ているのでできませんよね?
各ボタンを表のセルに追加する 2 つの方法を次に示します。
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"image.png" forState:UIControlStateNormal];
[[button titleLabel] setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13]];
[button setTitleColor:[UIColor clearColor] forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor blackColor]];
UIImage *btn = [UIImage imageWithData:"png image from url"];
UIImage* newImage2 = [btn scaleToSize:CGSizeMake(280, 209.0)];
CGSize newSize = CGSizeMake(280, 209.0);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[newImage2 drawInRect:CGRectMake(0, 0, (newSize.width), (newSize.height))];
UIImage *newImage4 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[button setImage:newImage4 forState:UIControlStateNormal];
button.frame = CGRectMake(20.0, 50.0, 280, 255.0);
//////////////////////////////////////// 以下の 2 番目の方法:
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[button2 setTitle:@"photo.png" forState:UIControlStateNormal];
[[button2 titleLabel] setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13]];
[button2 setTitleColor:[UIColor clearColor] forState:UIControlStateNormal];
[button2 setBackgroundColor:[UIColor blackColor]];
UIImage *btnImage = [UIImage imageWithData:"png image from url"];
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:btnImage];
imageView2.frame = CGRectMake(0, 0, 280, 209);
button2.frame = CGRectMake(20.0, 50.0, 280, 255.0);
[button2 addSubview:imageView2];