2011-09-20 3 views
4

점차 불투명도가 증가하는 UIView를 만들고 싶습니다. 즉, UIView의 맨 아래에 알파 값으로 0.0이 시작되고 UIView 맨 위에 1.0으로 끝나야합니다. 그러한 견해를 만들 수 있습니까? 아니면 그 견해를 분리하고 다양한 알파 값을 주어야합니까? 나중에 참조 할 수 있도록 사전아래에서 위로 불투명도 값 (알파 값)이 0에서 1까지 포함 된 UIView를 만드는 방법은 무엇입니까?

답변

18

에서

덕분에, 효과의 종류에 대한 용어는 gradient이다.

당신은 뒤에 그라데이션 이미지로 볼 수 있습니다 :

  1. 가 뒤에 UIImageView 만들기 UIView이 취소 설정
  2. UIView의 배경 색상에 그라데이션을 설정합니다.
  3. UIImageView의 배경 이미지를 작성한 그래디언트 PNG로 설정하십시오.

그래디언트 PNG는 1px 너비 일 수 있으며 높이는 64px라고 할 수 있습니다 (그라디언트의 매끄러운 정도에 따라 다름). 그것을 페인트 프로그램 (GIMP은 괜찮은 것입니다)에서 확인하십시오.

코드에서 순수를 할 수있는 방법

CAGradientLayer을 사용하고 있습니다 : 그것은 작동

CAGradientLayer *gradient = [CAGradientLayer layer]; 
gradient.frame = self.view.bounds; 
gradient.colors = [NSArray arrayWithObjects: 
        (id)[[UIColor colorWithWhite: 0.0 alpha:0.0] CGColor], 
        (id)[[UIColor colorWithWhite: 0.0 alpha:1.0] CGColor], nil]; 
gradient.startPoint = CGPointMake(0.5, 0.0); // default; bottom of the view 
gradient.endPoint = CGPointMake(0.5, 1.0); // default; top of the view 
[self.view.layer insertSublayer:gradient atIndex:0]; 
+0

감사합니다 .. 우리는 코드'(ID)를 추가 할 필요가'NSArray를 각 개체 전에 경고 메시지를 피하기 위해 .. – Confused