の画像を正しく設定する際に問題が発生UIButtons
していUITableViewCell
ます。ストーリーボードで 4 つのボタンを持つカスタム セルを使用してギャラリー効果を作成し、Apple の LazyTableImages のサンプル コードのように ImageLoader デリゲートを使用してサーバーから画像をロードしています。ImageLoader から画像を正常に取得しています。問題は画像の設定です。
で画像を設定すると、UITableView cellForRowAtIndexPath
画像が既に読み込まれている場合、またはデフォルトの画像である場合は、画像を適切に設定できます。
for (int i = 0; i < [posts count] && i < [galleryButtons count]; i++)
{
post = [posts objectAtIndex:i];
UIButton *button = [galleryButtons objectAtIndex:i];
[button setTag:post.userID];
if (!post.userIcon)
{
if (tableView.dragging == NO && tableView.decelerating == NO)
{
loadFlag = YES;
}
[button setImage:[UIImage imageNamed:@"BtDefault.png"] forState:UIControlStateNormal];
} else
{
[button setImage:post.userIcon forState:UIControlStateNormal];
}
}
if (loadFlag)
{
[self startIconDownload:posts forIndexPath: indexPath];
}
ただし、デリゲートがImageDidLoad
後でメソッドを呼び出すと、画像は変更されません。
- (void)postImageDidLoad:(NSIndexPath *)indexPath forColumn:(int)postColumn
{
ImageLoader *imageLoader = [imageDownloadsInProgress objectForKey:indexPath];
Post *post;
if (imageLoader != nil)
{
UITableViewCell *cell = [timeLineTable cellForRowAtIndexPath:indexPath];
if (timeLineStyle == 1) //Gallary Style
{
int index = (indexPath.row * 4) + postColumn;
int buttonTag = 200 + postColumn + 1;
NSLog(@"Button tag is %i", buttonTag);
post = [currentPosts objectAtIndex:index];
UIButton *galleryButton = (UIButton *)[cell viewWithTag:buttonTag];
[galleryButton setImage:post.userIcon forState:UIControlStateNormal];
UIImageView *imageTester = (UIImageView *)[cell viewWithTag:300];
[imageTester setImage:post.userIcon];
[timeLineTable reloadData];
[cell setHighlighted:YES];
} else // Post Style
{
UIImageView *userImageView = (UIImageView*)[cell viewWithTag:101];
UILabel *userNameLabel = (UILabel *)[cell viewWithTag:102];
[userNameLabel setText:@"Image Loaded"];
post = [currentPosts objectAtIndex:[indexPath row]];
[userImageView setImage:post.userIcon];
}
}
}
UIImage
テスト用にセルに があることがわかります。これはうまく機能しています。上記の for ループを削除しても、このコードは正常に機能しますcellForRowAtIndexPath
。問題は for ループがないことです。画像が既に読み込まれている場合、ボタン画像は設定されません。
ポインターが多すぎて が変更されないという問題があるかどうかはわかりませんUIButton
。思いつくのはこれだけですが、StoryBoard とこのスタイルのカスタム セル操作についてはまったくの初心者です。助けてくれてありがとう。