CALayer 有一个属性叫做contents,这个属性的类型被定义为id,意味着它可以是任何类型的对象.在这种情况下,你可以给contents属性赋任何值,你的app仍然能够编译通过.但是,在实践中,如果你给contents赋的不是CGImage,那么你得到的图层将是空白的. contents这个奇怪的表现是由Mac OS的历史原因造成的.它之所以被定义为id类型,是因为在Mac OS系统上,这个属性对CGImage和NSImage类型的值都起作用.如果你试图在iOS平台上将UIImage的值…