【问题标题】:Shadow in separate view from UIImage for dynamic adjustments与 UIImage 分开的视图中的阴影用于动态调整
【发布时间】:2012-06-01 12:07:25
【问题描述】:

我想获得这种效果(http://stackoverflow.com/questions/7023271/how-to-adjust-drop-shadow-dynamically-during-an-uiimageview-rotation),但从更复杂的图像比只是一个红色方块!如果链接被破坏,这是关于如何在 UIImageView 旋转期间动态调整阴影。

所以我尝试实现一些东西,但我无法在单独的层中获得阴影......这是我的代码,非常简单,但不起作用:

    // here is my code

- (void)viewDidLoad {
[super viewDidLoad];

testView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"handNoShadow.png"]];

testViewShadow = [[UIView alloc] initWithFrame:testView.frame];

testViewShadow.layer.shadowPath = [[testView layer] shadowPath];
testViewShadow.layer.shadowOpacity = 1.0;
testViewShadow.layer.shadowOffset = CGSizeMake(10, 10);
testViewShadow.layer.shadowRadius = 5.0;


[self.view addSubview:testViewShadow];
[self.view addSubview:testView];

}

PS:我做了#import

我确实得到了图像但没有阴影... =(

欢迎提供任何线索、帮助、代码、链接...!

谢谢

【问题讨论】:

    标签: ios path uiimageview dropshadow


    【解决方案1】:

    可能的原因:

    • 您的 testViewShadow.clipToBounds 属性设置为 YES(应该为 NO)

    • 您的 testViewShadow 正确绘制阴影,但另一个 UIView 位于顶部并将其遮盖。检查您的 Z 订单。 Storyboard/Nib 文件中的顺序(或您以编程方式添加子视图的顺序)。列表中的最后一个(或添加的最后一个)位于顶部。对于我的应用,我必须将需要阴影的 UIView 放在最后,以免其他视图遮盖它。

    【讨论】:

    • 这些似乎都不是原因。 - 我认为默认情况下 clipToBounds 是 NO 并且我不会更改它(参见代码)。 - 我以编程方式添加视图(参见代码),我认为这里不应该屏蔽另一个视图。
    猜你喜欢
    • 2016-10-16
    • 2022-01-10
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多