全屏内部影子iOS

时间:2011-08-11 07:15:54

标签: ios

我想知道如何能够实现全屏内部阴影效果,类似于UIAlertView弹出时的效果。是否有捷径可寻?是否有一个API来提升iOS中警报的阴影部分?这适用于iOS 4.0及更高版本。

3 个答案:

答案 0 :(得分:0)

您可以在Photoshop中创建部分透明的图像并将其添加为子视图。像这样:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"inner-shadow.png"]];
[self.view addSubview:imageView];

答案 1 :(得分:0)

无需增加应用的资产规模,您就可以创建一个简单的UIView。

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];

UIView *fullscreenShadow = [[UIView alloc] initWithFrame:keyWindow.bounds];
fullscreenShadow.backgroundColor = [UIColor blackColor];
fullscreenShadow.alpha = 0.3;
[keyWindow addSubview:fullscreenShadow];

将它添加到keyWindow会使它覆盖所有内容,当然除了UIStatusBar。我相信这会达到预期的效果。将它与UIViewAnimation结合起来并将alpha设置起来。

答案 2 :(得分:0)

下面的代码会在我们的视图中添加阴影,以您的方式使用它:

[self.yourView.layer setShadowColor:[UIColor blackColor].CGColor];
[self.yourView.layer setShadowOpacity:0.8];
[self.yourView.layer setShadowRadius:3.0];
[self.yourView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];