CALayer의 간단한 사용 - UIImageView

1899 단어
UIView가 표시되는 이유는 내부 CALayer 객체 때문입니다.따라서 이 CALayer 객체를 조작하면 섀도우, 필렛 크기, 프레임 너비와 색상 등 UIView의 일부 인터페이스 속성을 쉽게 조정할 수 있습니다.
UIView의 사용은 간단합니다. 여기서 주로 CALayer를 통해 UIImageView의 인터페이스 속성을 수정합니다.
UIImageView의 경우 UIView와 달리 두 개의 레이어가 있고 layer는 주 레이어에 있으며 그림의 다음 레이어를 표시합니다.
이미지 뷰를 생성합니다.
UIImage image = [UIImage imageNamed:@“1.png”];
 
UIImageView imageView = [[UIImageView alloc] initWithImage:image];
 
imageView.center = CGPointMake(100, 100);
 
[self.view addSubview:imageView];

1) 경계 폭 및 색상 설정
// , , , UIView 
 imageView.layer.borderWidth = 5; 
 imageView.layer.borderColor = [UIColor redColor].CGColor;

2) 뷰 내부의 CALayer 객체에 대해 layer 속성을 통해 필렛 크기 설정
 imageView.layer.cornerRadius = 10; 
//maskToBounds=YES: , ,UIImageView 
 imageView.layer.masksToBounds = YES;

maskToBounds=YES를 설정하면 그림자 효과가 없습니다
3) 섀도우 설정
// , , UIColor CGColor , CGColorRef 
  imageView.layer.shadowColor = [UIColor grayColor].CGColor; 
// , 
  imageView.layer.shadowOffset = CGSizeMake(10, 10); 
// 0.5, 。 1, 。
  imageView.layer.shadowOpacity = 0.5;

4) 회전 설정
//transform ,M_PI_4 π, 45°, (1, 1, 0), (1,1) , , , (0, 0, 1) Z 
imageView.layer.transform = CATransform3DMakeRotation(M_PI_4, 0, 0, 1);

UIView는 addSubview:방법으로 하위 보기를 추가할 수 있습니다. 이와 유사하게 CALayer는addSublayer:방법으로 하위 층을 추가할 수 있고 KVC 설정을 통해 회전할 수 있습니다.
NSvalue *value = [NSValue valueWithCATransform3D:CATransform3DMackRotation(M_PI_4, 1, 1, 0)];
[imageView.layer setValue: value forKeyPath:"transform"];

2D만 회전하는 경우 다음을 수행할 수 있습니다.
[imageView.layer setValue: @(M_PI_4) forKeyPath:"transform.rotation"];

확대/축소할 경우
[imageView.layer setValue: @(0.5) forKeyPath:"transform.scale.x"];

 
 
 

좋은 웹페이지 즐겨찾기