CustomCell上のUIImageviewへの画像貼付け
たとえば、
カスタムcellに貼付けたUIImageviewにリソース画像を貼付けたいとしたとき、
で、3つ目まで画像を貼付けたいとしたとき、
if分でrowが0から2まで貼付ければいいが、
UITableViewではcellが使い回されるので、
前に貼付けた画像がそのまま残る可能性があります
(というか、ありまくりw)
なので、それ以外のときは、画像をクリアするってことも
コード上に記述しないといけなさそうです。
//1位から3位まで(row0-2まで)は特定の画像をのせる if( indexPath.row<=2 ){ NSString * imagename= [NSString stringWithFormat:@"no%d.png", (indexPath.row+1) ]; UIImage *image = [UIImage imageNamed:imagename]; cell.rankingbanner.image = image; } else { //それ以外はクリアさせる cell.rankingbanner.image = [UIImage imageWithData: nil]; }
cell上に乗っているものは基本クリアが必須なんでしょうね
いつも値をいれっちゃってるから気がつかないってことかも
SDK4のハマったところ
UIButtonにいままでinitWithImageメソッドで画像をおいていたら、
これがSDK4ではなぜか、NGでした。
ので、普通にsetImageメソッドを使うようにしたらOKみたいです。
はじめは非公開ボタンを使っているのがいけないのかと思ったら
initWithImageだとは・・・
SDK3で動いた
UIImage *image = [UIImage imageNamed:@"star_on.png"]; starbutton = [[UIButton buttonWithType:100] initWithImage:image]; starbutton.frame = CGRectMake(0, 0, 35, 25); [starbutton addTarget:self action:@selector(check_setting:) forControlEvents:UIControlEventTouchUpInside]; [starbutton setTintColor:[UIColor orangeColor]]; [vview addSubview:starbutton];
SDK4では・・・
UIImage *image = [UIImage imageNamed:@"star_on.png"]; starbutton = [UIButton buttonWithType:100]; starbutton.frame = CGRectMake(0, 0, 35, 25); [starbutton setImage:image]; [starbutton addTarget:self action:@selector(check_setting:) forControlEvents:UIControlEventTouchUpInside]; [starbutton setTintColor:[UIColor orangeColor]]; [vview addSubview:starbutton];