2012년 12월 18일 화요일

[iOS6] UIImageView의 Shadow설정하기.

이미지를 화면에 표시할 때, 사진처럼 보여주기 위해서, 그림자를 설정해야 되는 경우가 많다.
이럴 경우, UIImageView의 CALayer를 이용해서 그림자를 설정해줄 수 있다.
그림자 설정은 테두리 설정과 동시에 사용할 수 있지만, 라운드 처리와는 같이 사용할 수가 없다.
masksToBounds를 설정해서 주변을 Mask처리해야 하므로 그림자 부분이 사라지게 된다.

소스

#import <QuartzCore/QuartzCore.h>
..
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.imageView.layer.shadowColor = [UIColor blackColor].CGColor; //그림자 색상
    self.imageView.layer.shadowOffset = CGSizeMake(5.0, 5.0); //그림자 Offset
    self.imageView.layer.shadowOpacity = 0.9f; //투명도
    self.imageView.layer.shadowRadius = 2.0f; //그림자 코너 부분
    self.imageView.layer.backgroundColor = [UIColor blackColor].CGColor;
}

동작 화면
storyboard에서 UIImageView를 등록하고, property로 연결한 다음에, 위와 같이 설정을 하면, 왼쪽과 같이 그림자를 표시할 수 있게 된다.