2017-10-28 8 views
1

私は動的に塗りつぶしたテーブルビューを持っています。私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); 
} 

答えて

0

は、送信者のビューを取得するにはMyFunctionのに以下を追加します。

[(UIGestureRecognizer *)sender view] 

次にそれにあなたがそのビューのプロパティを変更することができ、あなたのケースであるためそれはUIImageView、ちょうどUIImageViewとしてキャストし、画像のプロパティを変更します。

終了液を次のようになります。このような状況のため

[(UIImageView*) [(UIGestureRecognizer *)sender view]] setImage:[UIImage imageNamed:”blah”]] 
+0

あなたの言うことをよく理解していないので、私の "Myfunction"関数に2行目のコードを追加しても機能しませんでした。 – samouray

+0

"*"を忘れましたUIImageViewキャスト、私はそれが今すぐ動作するように編集しました。 –

+0

上記のことは、タップされたビュー(この場合はUIImageView)を取得しているので、UIImageViewとしてキャストしてsetImageを呼び出すことができます。 imageNamed:関数内に有効な画像名があることを確認してください。 –

0

ベストプラクティス。

UIImageの代わりにviewControllerUIButtonとバインドアクションを使用してください。 defaultSelected状態のストーリーボードのボタンイメージを設定するか、自分が行ったことに従ってコードを設定します。 buttonAction

sender.selected = !sender.selected; 
tableView.raeloadData(); 

ザッツオールイン

。 まだ問題に直面している場合は、私に跪きましょう。

関連する問題