2012-04-26 4 views
2

일부 드로잉 코드를 작성 중입니다. 그 부분은 훌륭하게 작동합니다.Draw Over Image

나는 이미지를 통해 그릴 싶어하지만 난 여전히 이미지의 세부 사항, 검은 선을 볼 수 있도록하려면, 등 난을 보유하고 투명한있는 UIImageView를하고 일하고 무엇

영상.

잘 설정하는 방법을 잘 모르겠습니다.

다른 색상의 UIImageView 위에이 색상을 추가해야하나요?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    topImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 46, 320, 370)]; 
    [topImageView setImage:[UIImage imageNamed:@"imagesmall.png"]]; 
    topImageView.alpha = 1.0; 
    topImageView.layer.opacity = 1.0; 
    topImageView.layer.opaque = NO; 
    [self.view addSubview:topImageView]; 
    [topImageView release]; 
} 

생각 사람 : 여기

는 지금까지이 무엇입니까?

답변

1

예, 다른보기를 통해보기를 그릴 수 있습니다. 그 이후에 순서를 바꾸지 않으면 서브 뷰로 추가 된 순서대로 그려집니다.

일부보기에서는 opaque 속성을 설정해야합니다 (이 설정은 해당 레이어의 불투명도와 별개이며 해당 레이어의 불투명도보다 우선 함) backgroundColornil으로 설정할 수 있습니다. UIImageView은 이미지가있는 한 기본적으로 투명하게 보입니다. 다른 UIView 하위 클래스는 그렇지 않습니다.

그럼 오버레이는 무엇이 될까요? 한 이미지를 다른 이미지 위에 그냥 표시해야하는 경우 여기에있는 이미지가 이미 작동 한 것처럼 보입니다. 프로그래밍 방식으로 일부 선을 그려야하는 경우 다음을 수행해야합니다.

  1. UIView의 하위 클래스를 만듭니다.
  2. 필요한 콘텐츠를 표시하려면 drawRect 메서드를 구현하십시오.
  3. 사용자 정의보기를 배경 이미지 위에 추가 할 때 opaque이 아니며 backgroundColor이 없는지 확인하십시오.

일반적인 문제는 전경이 작동하지만 배경이 제대로로드되지 않는 것입니다. 배경이 있는지 확인하려면 전경보기의 alpha0.5으로 설정하십시오. 프로덕션에서는이를 수행하고 싶지 않지만 두 뷰가 모두 존재하는지 확인할 수 있습니다.