我目前有一个自定义的UICollectionViewCell覆盖The collection view may call the setters inside an animation block.
。标题文件说明:[UIView performWithoutAnimation:^{
self.label.font = font;
}];
选择动画,但我不想要动画。
我试图用以下方法禁用动画:
+[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
一样,但动画仍然存在。
我的猜测是字体更改本身不是动画,但它会触发布局传递,因为标签现在更大了。有没有办法禁用单元格的布局?
答案 0 :(得分:1)
设置字体会触发布局。强制立即布局传递,在选择/取消选择单元格时阻止任何可见的动画。这是我的自定义单元格setSelected:
方法:
- (void) setSelected:(BOOL)selected;
{
[super setSelected:selected];
self.label.font = self.selectedFont;
[self layoutIfNeeded]; // force layout to avoid UICollectionView animation
}