2013-03-01 60 views
0

我用下面的代碼雙層陰影上缺少的iPad3(但在模擬器工作)

self.view.layer.borderColor = [UIColor whiteColor].CGColor; 
    self.view.layer.shadowColor = [UIColor blackColor].CGColor; 
    self.view.layer.shadowOpacity = 1.0; 
    self.view.layer.shadowRadius = 25.0; 
    self.view.layer.shadowOffset = CGSizeMake(0, 3); 
    self.view.clipsToBounds = NO; 

    CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath; 
    [self.view.layer setShadowPath:shadowPath]; 

這工作在模擬器和iPhone5的應該畫一個UIView後面的陰影。但是在我的iPad3上:根本沒有影子。

enter image description here

任何想法怎麼來的?

回答

0

我找到了解決方案。這不是關於模擬器。這是關於人像與景觀取向的界限的迴歸。我必須將陰影路徑的設置移動到viewDidAppeardidRotateFromInterfaceOrientation方法中,以在所有可能的啓動方向上正確渲染陰影。

-(void)viewDidAppear:(BOOL)animated{ 
    CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath; 
    [self.view.layer setShadowPath:shadowPath]; 
} 

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath; 
    [self.view.layer setShadowPath:shadowPath]; 
} 
相關問題