如何禁用UICollectionView中的选择动画?

时间:2015-10-14 18:08:28

标签: ios animation uicollectionview uicollectionviewcell selected

我目前有一个自定义的UICollectionViewCell覆盖The collection view may call the setters inside an animation block.。标题文件说明:[UIView performWithoutAnimation:^{ self.label.font = font; }]; 选择动画,但我不想要动画。

animated selection

我试图用以下方法禁用动画:

+[UIView setAnimationsEnabled:]

def medianFilter(src, size): pad = int(size/2) src_padded = cv2.copyMakeBorder(src,pad,pad,pad,pad,cv2.BORDER_REPLICATE) for i,j in itertools.product(xrange(src.shape[0]), xrange(src.shape[1])): src[i][j] = np.median(src_padded[i:i+size, j:j+size]) return src 一样,但动画仍然存在。

我的猜测是字体更改本身不是动画,但它会触发布局传递,因为标签现在更大了。有没有办法禁用单元格的布局?

1 个答案:

答案 0 :(得分:1)

设置字体会触发布局。强制立即布局传递,在选择/取消选择单元格时阻止任何可见的动画。这是我的自定义单元格setSelected:方法:

 - (void) setSelected:(BOOL)selected;
 {
   [super setSelected:selected];
   self.label.font = self.selectedFont;
   [self layoutIfNeeded]; // force layout to avoid UICollectionView animation
 }