Tôi muốn thêm mặt nạ tròn vào UIImageVIew. Đây là chức năng đang sử dụng để thêm mặt nạ ..Cách thêm mặt nạ tròn vào UIImageview và thay đổi khung và trung tâm trong khi làm như vậy?
- (void) addMaskToBounds:(CGRect) maskBounds
{
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGPathRef maskPath = CGPathCreateWithEllipseInRect(maskBounds, NULL);
maskLayer.bounds = maskBounds;
[maskLayer setPath:maskPath];
[maskLayer setFillColor:[[UIColor blackColor] CGColor]];
maskLayer.position = CGPointMake(maskBounds.size.width/2, maskBounds.size.height/2);
[self.imageView.layer setMask:maskLayer];
}
Có thể thêm mặt nạ nhưng vấn đề xảy ra vì đang thay đổi khung hình và trung tâm cùng với nó. Hình ảnh được mở rộng và tạo ra nhỏ dựa trên các hành động của người dùng. Do đó tôi sẽ phải thêm mặt nạ hai lần khi nhỏ và khi mở rộng. Vì vậy, kể từ khi hoạt hình thay đổi khung hình, trong khi hoạt hình hình ảnh trở nên méo mó, hoặc di dời. Làm cách nào để khắc phục điều này?
Tôi đoán giải thích tốt nhất của nó với dự án mẫu. Ở đây tôi đã tạo một dự án Demo https://github.com/akshaynhegde/MaskImage trên GitHub, chỉ cần chạy nó để xem vấn đề của tôi và cho tôi biết cách giải quyết vấn đề.
này đã được hỏi trước: http://stackoverflow.com/questions/12564336/animation-of-masked-uiview-calayer –