私は動的に塗りつぶしたテーブルビューを持っています。私cellForRowAtIndexPath
メソッドのコードは次のとおりです。クリックするとTableviewのUIImageViewの画像が変更されます
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
UIImage * ImageFavorited = [UIImage imageNamed:@"Favorited"];
UIImageView *ImageViewFavorited = (UIImageView *)[cell viewWithTag:7];
ImageViewFavorited.image =ImageFavorited;
ImageViewFavorited.userInteractionEnabled = YES;
NSString *uiid = [[collectionFromData valueForKey:@"id"] objectAtIndex:(indexPath.row)];
MYTapGestureRecognizer *tapped = [[MYTapGestureRecognizer alloc] initWithTarget:self action:@selector(myFunction:) ];
tapped.data = uiid;
tapped.numberOfTapsRequired = 1;
[ImageViewFavorited addGestureRecognizer:tapped];
}
私が知っている、私が知っている、MYTapGestureRecognizer
が奇数探している、私は実際に私はそれを使用してデータを渡すことができUITapGestureRecognizer
を拡張しました。 (ありがとうStackOverFlowユーザー)、今私の問題は、クリックした後、クリックしたUIImageviewの画像を変更したいということです。今のところ、myfunction
機能のクリックを検出しましたが、画像を変更する方法が見つからないようです。
myfunction
ためのコードは次のとおりです。
-(void)myFunction :(id) sender
{
MYTapGestureRecognizer *tap = (MYTapGestureRecognizer *)sender;
NSLog(@"data is = %@", tap.data);
}
あなたの言うことをよく理解していないので、私の "Myfunction"関数に2行目のコードを追加しても機能しませんでした。 – samouray
"*"を忘れましたUIImageViewキャスト、私はそれが今すぐ動作するように編集しました。 –
上記のことは、タップされたビュー(この場合はUIImageView)を取得しているので、UIImageViewとしてキャストしてsetImageを呼び出すことができます。 imageNamed:関数内に有効な画像名があることを確認してください。 –