我正在制作UIViewController的子类,当用户按下按钮时,它将启动并添加来自另一个UIViewController子类的视图。
在添加的视图中,我有一个UIWebView和UIButton实例(用于关闭弹出窗口)。
由于它的目的是作为弹出窗口,我想为UIWebView添加边框和阴影,但由于它是 nib 启动的,我不知道如何修改绘图代码。
有什么帮助吗?:)
我正在制作UIViewController的子类,当用户按下按钮时,它将启动并添加来自另一个UIViewController子类的视图。
在添加的视图中,我有一个UIWebView和UIButton实例(用于关闭弹出窗口)。
由于它的目的是作为弹出窗口,我想为UIWebView添加边框和阴影,但由于它是 nib 启动的,我不知道如何修改绘图代码。
有什么帮助吗?:)
看看使用视图的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>
您可以通过这种方式将边框和阴影添加到任何控件。
您还可以设置边框的宽度,也可以将其设为圆角。
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>