次のコードを使用して、imageViewレイヤーに影を追加できます。
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.png"]];
self.imageView.center = self.view.center;
CALayer *containerLayer= [CALayer layer];
containerLayer.shadowColor = [UIColor blackColor].CGColor;
containerLayer.shadowRadius = 10.0f;
containerLayer.shadowOffset = CGSizeMake(10.0f, 5.0f);
containerLayer.shadowOpacity = .8f;
[containerLayer addSublayer:self.imageView.layer];
[self.view.layer addSublayer:containerLayer];
1。問題は、imageViewシャドウ効果を取得するためにimageView.layerをcontainerLayerに追加する必要がある理由がわからないことです。ただし、containerLayerをimageView.layerに追加すると、imageViewに影がありません。なぜですか?
エラーコードは次のとおりです。
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.png"]];
self.imageView.center = self.view.center;
CALayer *containerLayer= [CALayer layer];
/*same as before*/
[self.imageView.layer addSublayer:containerLayer];
[self.view.layer addSublayer:self.imageView.layer];
質問2:containerLayerの(imageViewに影を付けるために使用される)frame = {{0、0}、{0、0}}ですが、最終的な位置は画面の中央にあります。なぜ?