如果效果图
具体 实现方法:
在UIView的子类中重写- (void)drawRect:(CGRect)rect;方法
- (void)drawRect:(CGRect)rect
{
CGContextRef context =UIGraphicsGetCurrentContext();
CGContextClearRect(context, rect);
[self.calloutBackgroundColorsetFill];
CGRect bezieRect = rect;
bezieRect.size.width -=kCalloutPinHeight;
//绘制右边三角曲线 开始
//圆角四边形
UIBezierPath *bezier = [UIBezierPathbezierPathWithRoundedRect:bezieRect
cornerRadius:4.0];
//添加右边三角形
[beziermoveToPoint:CGPointMake(bezieRect.size.width, (bezieRect.size.height / 2) - 4.0)];
CGPoint firstLinePoint = CGPointMake(rect.size.width, (bezieRect.size.height /2));
[bezieraddLineToPoint:firstLinePoint];
CGPoint secondLinePoint = CGPointMake(bezieRect.size.width, (bezieRect.size.height /2) + 4.0);
[bezieraddLineToPoint:secondLinePoint];
//绘制右边三角曲线 结束
[bezierfill];
}