0

我有一个用于绘制 UICollectionViewCell 边界的代码。当我在“cellForItemAtIndexPath”中调用它时它会起作用。

[cell.layer setBorderColor:[UIColor redColor].CGColor];
[cell.layer setBorderWidth:1.0f];
[cell.layer setCornerRadius:7.5f];
[cell.layer setShadowOffset:CGSizeMake(0, 1)];
[cell.layer setShadowColor:[UIColor whiteColor].CGColor];
[cell.layer setShadowRadius:8.0];
[cell.layer setShadowOpacity:0.8];

但我想做的是在 appDelegate 中实现这个功能,所以我不必将所有这些代码实现到各种类。

[[[UICollectionViewCell appearance] layer] setMasksToBounds:NO];
[[[UICollectionViewCell appearance] layer] setBorderColor:[UIColor redColor].CGColor];
[[[UICollectionViewCell appearance] layer] setBorderWidth:1.0f];
[[[UICollectionViewCell appearance] layer] setCornerRadius:7.5f];
[[[UICollectionViewCell appearance] layer] setShadowOffset:CGSizeMake(0, 1)];
[[[UICollectionViewCell appearance] layer] setShadowColor:[UIColor whiteColor].CGColor];
[[[UICollectionViewCell appearance] layer] setShadowRadius:8.0];
[[[UICollectionViewCell appearance] layer] setShadowOpacity:0.8];

当我在 appDelegate 中使用上述代码时,它不起作用。有什么建议吗??

我也进口<QuartzCore/QuartzCore.h>

4

1 回答 1

0

这些属性(CALayer 属性)都不支持外观代理。

查看此列表,了解可以使用外观代理设置样式的所有属性。

于 2013-01-23T10:34:05.003 回答