我有一个子类UICollectionViewLayout
,将单元格放在一个圆圈中.布局返回YES
呼叫shouldInvalidateLayoutForBoundsChange:
.旋转时,初始位置的单元格淡出,最终位置的单元格淡入.
通过在我的布局中添加以下代码,我可以禁用淡入淡出,并且项目的圆圈似乎只是随着方向更改而旋转:
- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
return nil;
}
- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath {
return [self layoutAttributesForItemAtIndexPath:itemIndexPath];
}
Run Code Online (Sandbox Code Playgroud)
为什么这些方法会在边界变化时调用,因为文档似乎没有暗示它们会这样做?文档似乎表明它们被称为与从集合视图中插入和删除项目相关.
是否有更好的方法可以在旋转期间禁用交叉淡入淡出?
笔记:
initialLayoutAttributesForAppearingItemAtIndexPath:
文档声明默认情况下该方法返回nil
但调用super
返回的非零值.UICollectionView
,deleteItemsAtIndexPaths:
并且
moveItemAtIndexPath:toIndexPath:
在旋转期间都没有命中它们.我正在GAE上编写一个应用程序,我有一个URL,它将始终返回XML并将Content-Type设置为"text/xml; charset=utf-8"
.
我正在使用内置的webapp框架并使用以下代码来设置内容类型并在Web处理程序中返回XML:
self.response.headers.add_header('Content-Type',"text/xml; charset=utf-8")
self.response.out.write(template.render("my_xml",{"key1":"val1"}))
Run Code Online (Sandbox Code Playgroud)
这在本地开发环境中运行良好,但是一旦部署到Google服务器,内容类型始终设置为"text/html; charset=utf-8"
.
如何Content-Type
在Google服务器上运行后确保设置正确?