私はを明らかに持っているUIImageView
を持っています。 UIImage
にのみシャドーエフェクトを作成したいと思います。私の問題は、UIImage
のCGRect
をUIImageView
に入れることができないため、次の方法でシャドーエフェクトを適用できます。UIImage境界でシャドーエフェクトを作成する方法
[mImageView.layer.shadowColor = [UIColor grayColor].CGColor;
mImageView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
mImageView.layer.shadowOpacity = 0.9f;
mImageView.layer.masksToBounds = NO;
CGRect imageFrame = mImageView.frame;
UIEdgeInsets shadowInsets = UIEdgeInsetsMake(0, 0, -1.5f, 0);
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:UIEdgeInsetsInsetRect(imageFrame, shadowInsets)];
mImageView.layer.shadowPath = shadowPath.CGPath;
この問題については、添付の画像を参考にしてください。 UIImage
は添付されている画像のように切り抜かれた画像なので、硬い寸法の画像になる可能性があるため、この問題も重要です。
UIImageView’s
は、ここでバインドされたビューに等しいです。したがって、上記の方法でエフェクトを適用すると、UIImage
だけでなく、UIImageView
全体にUIBezierPath
が作成されます。この方法では、UIImage
の正確なCGRect
を取得できません。
私は何が欠けていますか?
マイナスポイントが得られる理由 –