똑같은 뷰에 shadow, corner radii (특정한 부분에만 cornerRadius를 적용할 때 사용)을 적용하려고 하면 shadow만 적용되는 깜찍한 상황이 발생함
// cardView에 shadow 적용
self.cardView.layer.shadowColor = [[UIColor colorWithRed:0 green:0 blue:0 alpha:0.1] CGColor];
self.cardView.layer.shadowOpacity = 1.0;
self.cardView.layer.shadowOffset = CGSizeMake(0, -2);
self.cardView.layer.shadowRadius = 8;
[self.cardView layoutIfNeeded];
// Card ContentView에 cornerRadii 적용
UIRectCorner corners = UIRectCornerTopLeft | UIRectCornerTopRight;
CGFloat cornerRadius = 12.0;
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.cardContentView.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.path = path.CGPath;
self.cardContentView.layer.mask = maskLayer;
1. cardView, cardContentView는 storyboard로 생성 후 IBOutlet으로 h파일에 연결해 둔 상태
2. cardView -> 최상위 뷰 / backgroundColor: clearColor (투명)
3. cardContentView -> cardView 내부에 존재하는 View, constraints는 cardView기준으로 0,0,0,0 (top, right, left, bottom)
-> cardContentView에 배경 색상 적용
4. 나는 viewDidLayoutSubviews 에서 shadows, cornerRadii를 적용함! didLoad에서 하면 적용 안 됨!
objc 너무 정보가 없어서 눈물만 난다

오늘도 잘 해냈다!