2012-11-01 19 views
6

Tôi đang làm việc trên một ứng dụng ảnh ghép ảnh và tôi phải tạo khung hình dạng bất thường trong mỗi hình dạng sẽ có một uiimageview với cử chỉ, khi nhấn hình dạng tôi cần phải chọn một hình ảnh cho hình dạng đó, những khung hình này rất giống với khung của ứng dụng iphone instacollage. liên kết: https://itunes.apple.com/in/app/instacollage-pro-pic-frame/id530957474?mt=8làm thế nào để làm cho hình dạng không đều uiview và đặt uiimageview bên trong những hình dạng như instacollage iphone app

cung cấp cho tôi một số loại hướng làm thế nào để thực hiện tác vụ này.

Cảm ơn

+0

bạn có thể đang tìm kiếm UICollectionView http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12 – iosMentalist

Trả lời

2

Bạn có thể sử dụng tài sản Mask của lớp để đạt được điều này.

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.frame = self.imageView.bounds ; 
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithOvalInRect:maskLayer.frame]; 
maskLayer.fillColor = [[UIColor whiteColor] CGColor]; 
maskLayer.backgroundColor = [[UIColor clearColor] CGColor]; 
maskLayer.path = [roundedPath CGPath]; 

// Add mask 
self.imageView.layer.mask = maskLayer; 
0

Cảm ơn Sahana. Mã tương đương trong Swift là:

let maskLayer = CAShapeLayer() 
maskLayer.frame = self.imageView.bounds 
let roundedPath = UIBezierPath(ovalInRect: maskLayer.frame) 
maskLayer.fillColor = UIColor.whiteColor().CGColor 
maskLayer.backgroundColor = UIColor.clearColor().CGColor 
maskLayer.path = roundedPath.CGPath 
self.imageView.layer.mask = maskLayer 
Các vấn đề liên quan