2016-11-29 37 views
0

子类的ASDisplayNode不能添加阴影吗?ASDisplayNode的子类不能添加阴影吗?

_cancleOrderNode = [[ASButtonNode alloc] init]; 
    [_cancleOrderNode setTitle:@"取消预约" withFont:EBOSystemFont(17) withColor:[UIColor whiteColor] forState:(ASControlStateNormal)]; 
    _cancleOrderNode.backgroundColor = RGBCOLORV(0x1b7efe); 
    _cancleOrderNode.preferredFrameSize = CGSizeMake(100, 40); 
    _cancleOrderNode.cornerRadius = 5; 
    [self addShadowView:_cancleOrderNode 
      withShadowColor:RGBCOLORV(0xd6dae0) 
      withShadowOffSet:(CGSizeMake(5, 12)) 
      withShadowOpacity:0.7]; 
    [self addSubnode:_cancleOrderNode]; 
// 添加阴影 
- (void)addShadowView:(ASDisplayNode *)targetNode withShadowColor:(UIColor *)shadowColor withShadowOffSet:(CGSize)shadowOffSet withShadowOpacity:(CGFloat)shadowOpacity{ 

    UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:targetNode.bounds]; 
    targetNode.layer.masksToBounds = NO; 
    targetNode.layer.shadowColor = shadowColor.CGColor; 
    targetNode.layer.shadowOffset = shadowOffSet; 
    targetNode.layer.shadowOpacity = shadowOpacity; 
    targetNode.layer.shadowPath = shadowPath.CGPath; 

} 

,但它没有工作,谁能帮帮我?

回答

0

是的,当我删除 UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:targetNode.bounds];

targetNode.layer.shadowPath = shadowPath.CGPath;

它运作良好