2012-03-04 7 views
0

나는 다음과 같은 코드가 있습니다추가 그림자 만

self.navigationBar_.layer.shadowColor = [UIColor blackColor].CGColor; 
      self.navigationBar_.layer.shadowOpacity = 0.3f; 
      self.navigationBar_.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); 
      self.navigationBar_.layer.shadowRadius = 3.0f; 
      self.navigationBar_.layer.masksToBounds = NO; 

을 나는 기본적으로 단지 바닥 만이 아닌 전체 사각형에 테두리를 추가하고자합니다. 어떻게해야합니까? 위의 코드는 왼쪽, 오른쪽, 위쪽 테두리에도 그림자를 추가합니다. 대신 레이어 그림자의

답변

4

, 당신은 단지 그라데이션을 사용할 수 있습니다. 투명한 PNG 그래디언트를 사용할 수 있지만 프로그래밍 방식으로이를 수행하는 방법의 예는 다음과 같습니다.

UIView *topShadowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.navigationBar.bounds.size.width, 10)]; 
CAGradientLayer *topShadow = [CAGradientLayer layer]; 
topShadow.frame = CGRectMake(0, 0, self.navigationBar.bounds.size.width, 10); 
topShadow.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:0.0 alpha:0.25f] CGColor], (id)[[UIColor clearColor] CGColor], nil]; 
[topShadowView.layer insertSublayer:topShadow atIndex:0]; 
[self.view addSubview:topShadowView];