在nib启动的视图中添加边框和阴影

时间:2013-07-19 12:53:15

标签: ios objective-c cocoa-touch core-graphics

我正在创建 UIViewController 的子类,当用户按下按钮时,它将启动并添加另一个 UIViewController 子类的视图。

在添加的视图中,我有一个 UIWebView UIButton 的实例(用于关闭弹出窗口)。

由于它是用作弹出窗口,我想在 UIWebView 中添加边框和阴影,但由于它是nib启动的,我不知道如何修改绘图代码。

有任何帮助吗? :)

2 个答案:

答案 0 :(得分:1)

使用视图CALayer

添加边框:

myView.layer.borderWidth = 1.f;
myView.layer.borderColor = [UIColor blackColor].CGColor;

添加阴影有类似的方法:

myView.layer.shadowColor = [UIColor blackColor].CGColor;
myView.layer.shadowOffset = CGSizeMake(4.f, 4.f);
myView.layer.shadowRadius = 4.f;
myView.layer.shadowOpacity = 0.5f;
myView.layer.shouldRasterize = YES;

您需要将Quartz框架添加到目标,并在控制器的.m文件中导入标头:

#import <QuartzCore/QuartzCore.h>

答案 1 :(得分:0)

您可以通过这种方式将边框阴影添加到任何控件。
您还可以设置宽度边框,也可以圆角

CALayer * l1 = [viewPopup layer];
[l1 setMasksToBounds:YES];
[l1 setCornerRadius:5.0];

// Add a border
[l1 setBorderWidth:5.0];
[l1 setBorderColor:[[UIColor darkGrayColor] CGColor]];

// Add a shadow
[l1 setShadowColor:[[UIColor darkGrayColor] CGColor]];
[l1 setShadowOpacity:5.0];
// You can more methods for shadow

只需用您的控件替换viewPopup即可。

注意: - 不要忘记导入<QuartzCore/QuartzCore.h>