Iphone UIView阴影不显示
我不确定我是否遗漏了一些东西,但一个简单的任务就是不想起作用。我正试图在Iphone UIView阴影不显示,iphone,objective-c,ios,ios6,Iphone,Objective C,Ios,Ios6,我不确定我是否遗漏了一些东西,但一个简单的任务就是不想起作用。我正试图在ios6中的UIView中添加阴影。我使用故事板和自动布局。我正在用白色背景在故事板场景中绘制ui视图。然后将其链接到一个IBOutlet 在我的.h文件中,我声明了IBOutlet和属性 #import <UIKit/UIKit.h> @interface LoginViewController : UIViewController { IBOutlet UIView *_loginPanel;
ios6
中的UIView
中添加阴影。我使用故事板和自动布局。我正在用白色背景在故事板场景中绘制ui视图。然后将其链接到一个IBOutlet
在我的.h文件中,我声明了IBOutlet
和属性
#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController {
IBOutlet UIView *_loginPanel;
}
@property (nonatomic, retain) IBOutlet UIView *_loginPanel;
@end
@synthesize _loginPanel;
合成属性
#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController {
IBOutlet UIView *_loginPanel;
}
@property (nonatomic, retain) IBOutlet UIView *_loginPanel;
@end
@synthesize _loginPanel;
并在我的ViewDidLoad
方法中执行以下操作
- (void)viewDidLoad
{
[super viewDidLoad];
UIBezierPath *path = [UIBezierPath bezierPathWithRect:_loginPanel.bounds];
_loginPanel.layer.masksToBounds = NO;
_loginPanel.layer.shadowColor = [UIColor blackColor].CGColor;
_loginPanel.layer.shadowOpacity = 0.7f;
_loginPanel.layer.shadowOffset = CGSizeMake(-5.0f, -5.0f);
_loginPanel.layer.shadowRadius = 8.0f;
_loginPanel.layer.shadowPath = path.CGPath;
_loginPanel.layer.shouldRasterize = YES;
}
但是我没有阴影,只有我在故事板中定义的白色视图
任何帮助都将不胜感激
谢谢
理查德也许你可以改变这一行:
UIBezierPath *path = [UIBezierPath bezierPathWithRect:_loginPanel.bounds];
与:
CGPathRef path = [UIBezierPath bezierPathWithRect:_loginPanel.bounds].CGPath;
然后偏离航线,移除阴影线中的“.CGPath”
也许您可以尝试在viewDidAppear方法中进行此操作,以查看是否存在调整大小的问题。也许您可以更改此行:
UIBezierPath *path = [UIBezierPath bezierPathWithRect:_loginPanel.bounds];
与:
CGPathRef path = [UIBezierPath bezierPathWithRect:_loginPanel.bounds].CGPath;
然后偏离航线,移除阴影线中的“.CGPath”
也许您可以尝试在viewDidAppear方法中进行此操作,以查看是否存在大小调整问题。您为UIView提供了出口(参考)?@spill50您的代码运行良好。我认为您的自定义视图大小比您的父视图大。否则,您的插座未连接。@如果代码工作正常,请检查您是否将插座(参考)提供给了_loginPanle。。尝试不使用。shadowPath=path.CGPath代码>,可能您的视图正在自动调整大小或其他…您为UIView提供了出口(参考)?@spill50您的代码工作正常。我认为您的自定义视图大小比您的父视图大。否则,您的插座未连接。@如果代码工作正常,请检查您是否将插座(参考)提供给了_loginPanle。。尝试不使用。shadowPath=path.CGPath代码>,可能您的视图正在自动调整大小或其他…我将其移动到ViewDidAspect方法,它可以正常工作。:)这一定与调整视图大小的约束有关。谢谢你,我觉得我快疯了。我把它移到viewdidappease方法,它就可以工作了。:)这一定与调整视图大小的约束有关。谢谢你,我以为我要发疯了。