本文介绍了iOS swift UIImageView更改tableView单元格中的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 tableView 自定义 cell 中有一个奇怪的问题.对于像图像操作,我在自定义 cell 中编写这些代码,称为 FeedViewCell:
I have a strange problem in tableView Custom cell. for like Image action I write these code in Custom cell called FeedViewCell:
self.like.isUserInteractionEnabled = true let CommenttapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(likehandleTap)) self.like.addGestureRecognizer(CommenttapGestureRecognizer) func likehandleTap(_ sender: UITapGestureRecognizer) { if self.like.image == UIImage(named: "like-btn-inactive") { self.like.image = UIImage(named: "like-btn-active") } else { self.like.image = UIImage(named: "like-btn-inactive") } }和 TableViewController:
and TableViewController:
func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "FeedCell", for: indexPath) as! FeedViewCell return cell }但正如您在 this 视频当我触摸索引 0 中的点赞按钮并更改图像时,索引 3 中的点赞按钮也会更改图像.大家能告诉我我的错误吗?
but as you see in this video when I touch the like button in index 0 and change the image, the like button in index 3 change image also. can you guys tell me my mistake please?
谢谢
推荐答案尝试 100% 工作的代码
var selectindex : Int? var selectedindex : NSMutableArray = NSMutableArray() @IBOutlet var tableview: UITableView! func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("LikeCell", forIndexPath: indexPath) let like: UIButton = (cell.viewWithTag(2) as! UIButton) let comment: UIButton = (cell.viewWithTag(3) as! UIButton) if selectedindex.containsObject(indexPath.row) { like.setBackgroundImage(UIImage.init(named: "like.png"), forState: .Normal) }else{ like.setBackgroundImage(UIImage.init(named: "like (1).png"), forState: .Normal) } comment.setBackgroundImage(UIImage(named: "chat.png"), forState: UIControlState.Normal) like.addTarget(self, action: #selector(self.CloseMethod(_:event:)), forControlEvents: .TouchDown) comment.addTarget(self, action: #selector(self.CloseMethod1(_:event:)), forControlEvents: .TouchDown) return cell } @IBAction func CloseMethod(sender: UIButton, event: AnyObject) { let touches = event.allTouches()! let touch = touches.first! let currentTouchPosition = touch.locationInView(self.tableview) let indexPath = self.tableview.indexPathForRowAtPoint(currentTouchPosition)! selectindex = indexPath.row if selectedindex.containsObject(selectindex!) { selectedindex.removeObject(selectindex!) }else{ selectedindex.addObject(selectindex!) } self.tableview.reloadData() }更多推荐
iOS swift UIImageView更改tableView单元格中的图像
发布评论