【发布时间】:2015-09-23 14:38:00
【问题描述】:
我想用掩码创建UIView 的子类。我尝试使用drawRect 和layoutSubviews 但没有成功,在这些尝试中没有出现视图。
- (void)layoutSubviews {
[super layoutSubviews];
UIBezierPath *path = [UIBezierPath new];
[path moveToPoint:(CGPoint){self.frame.origin.x + 10, self.frame.origin.y}];
[path addLineToPoint:(CGPoint){self.frame.origin.x + self.frame.size.width, self.frame.origin.y}];
[path addLineToPoint:(CGPoint){self.frame.origin.x + self.frame.size.width, self.frame.origin.y + self.frame.size.height}];
[path addLineToPoint:(CGPoint){self.frame.origin.x +10, self.frame.origin.y + self.frame.size.height}];
[path addLineToPoint:(CGPoint){self.frame.origin.x +10, self.frame.origin.y + (self.frame.size.height/2) + 5}];
[path addLineToPoint:(CGPoint){self.frame.origin.x , self.frame.origin.y + (self.frame.size.height/2)}];
[path addLineToPoint:(CGPoint){self.frame.origin.x +10, self.frame.origin.y + (self.frame.size.height/2) - 5}];
[path closePath];
CAShapeLayer *mask = [CAShapeLayer new];
mask.frame = self.bounds;
mask.path = path.CGPath;
self.layer.mask = mask;
}
我为此覆盖的方法是什么?我看到了很多类似问题的答案,但对我不起作用。
【问题讨论】:
标签: ios objective-c uiview