iphone - 我没有影子

标签 iphone objective-c ios quartz-graphics

这是我的代码:

CALayer *inLayer =[CALayer layer];
inLayer.backgroundColor = [UIColor redColor].CGColor;
inLayer.frame=CGRectMake(0,0,50, 50);
inLayer.position=CGPointMake(200, 200);
inLayer.cornerRadius=25;
inLayer.masksToBounds=YES;
inLayer.shadowColor=[UIColor blackColor ].CGColor;
inLayer.shadowOffset=CGSizeMake(5,10);
inLayer.shadowOpacity = 0.8;
inLayer.contents=(id)[UIImage imageNamed:@"Close.png"].CGImage;
inLayer.name=@"Close";
[self.view.layer addSublayer:inLayer];

我没有得到影子。我想念那里的东西吗?

最佳答案

阴影绘制在层的边界之外。您必须设置 inLayer.masksToBounds = NO 才能看到阴影。

当然,这会阻止 cornerRadius 工作。

您需要使用两层:设置阴影的外层和设置masksToBounds = YEScornerRadius = 25 的内部子层。

关于iphone - 我没有影子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9543393/

相关文章:

iphone - 无法绘制 bezierPath

ios - 在 SpriteKit 中保存 NSString 时出现问题

ios - 来自 AppStore 的 IPA 和来自 XCode 的 IPA 之间的二进制区别是什么?

iphone - Objective-C 中 C++ STL 容器 "pair<T1, T2>"的等价物?

iphone - 拖动注解 View 导致多次触发拖动状态委托(delegate)方法

iphone - 在提交到 Apple Store 之前,如何在 iPhone 设备上测试我的 iphone 应用程序?

objective-c - 自定义 UIView 作为 UITableView 委托(delegate)和数据源?

ios - 在 swift 中创建简单的线程会出错

objective-c - UINavigationController 内 UITabBarController 的间隙

ios - 未调用 Swift 委托(delegate)