我有UITableViewCell的具有目标的功能这样的按钮:为什么uitableviewcell在滚动时发生变化?
likeButton?.addTarget(self, action: "likeButtonTapped:", forControlEvents: UIControlEvents.TouchUpInside)
设置我的按钮标题是这样的函数内部:
sender.setTitle("\(addedLikeCount) Likes", forState: UIControlState.Normal)
但每当我滚动视图向上或向下,我的按钮标题更改为默认值。为什么会发生?有没有什么办法可以解决这个问题,而无需重新加载表?
随时给我任何意见,在迅速或客观的c。无所谓。
UPDATE
所以我做了下面的代码在我的功能:
self.likeArray.replaceObjectAtIndex(index!, withObject: addedLikeCount)
sender.setTitle("\(self.likeArray[index!]) Likes", forState: UIControlState.Normal)
这对我的UITableViewCell:
var totalLike = likeArray[indexPath.row] as? String
currentLikeCount = totalLike
likeButton?.setTitle("\(totalLike)", forState: UIControlState.Normal)
它的工作,但是当我滚动丝毫不差成为再次默认
因为细胞正在被重用,因此刷新至下'-cellForRowAtIndexPath',解决原来的设置是有一个全局变量,然后下重装安装'-cellForRowAtIndexPath' – 0yeoj
我该怎么办,没有reloaddata? –
获得superview(单元格)被按下的'likeButton'是,然后更改/设置标题,但不重新加载表并不滚动否则它将被重用并再次刷新,这是tableview的自然行为(用于内存处理)..在你的情况意思..这是你唯一的选择.. :) – 0yeoj