我不确定哪里出错了。我在Storyboard中有一个UIImageView,它与IBOutlet连接到代码。我想在UIImageView中添加一个阴影(在运行时)。我正在使用此代码片段(从stackoverflow帖子获得此帮助):
-(void) awakeFromNib {
self.imageViewTopBar.layer.shadowColor = [UIColor blueColor].CGColor;
self.imageViewTopBar.layer.shadowOffset = CGSizeMake(0, 5);
self.imageViewTopBar.layer.shadowOpacity = 1.0;
self.imageViewTopBar.layer.shadowRadius = 3.0;
//self.imageViewTopBar.layer.masksToBounds = YES;
//self.imageViewTopBar.clipsToBounds = NO;
self.imageViewTopBar.layer.shouldRasterize = YES;
}
但它根本不起作用。有什么帮助吗?我认为它没有任何理由不起作用。
我的环境:XCode 4.5.2,iOS 5,iPhone 4
答案 0 :(得分:1)
您应该使用-viewDidLoad
执行此操作,请查看此帖子:Accessing View in awakeFromNib?
答案 1 :(得分:0)
尝试将其放入viewDidLoad。我假设你已经包含了quartzcore框架。我认为如果不是,它会抛出编译器错误......
答案 2 :(得分:0)
你在xib中检查过clipToBounds为YES吗?
如果是,则应取消选中clipToBounds并重新组织视图层次结构。
通常当我有带阴影的imageView时,我会使用此层次结构
(aImageView) ClipToBounds=YES
|
|
(aView) Shadow setted here
|
|
(Superview)
aView具有与aImageView相同的帧大小