Minimal, Complete, and Verifiable example我想在切口中添加边框(中间透明,外部半透明)。我正在使用PartialTransparentMaskView。
mapView.clipsToBounds = false
let frame = mapView.frame
// Add the mask view
var array = [CGRect]()
//to change the circle customize next line
let rect = CGRectMake(frame.origin.x+20,100, frame.width-40, frame.height-300)
array.append(rect)
let maskColor = UIColor(red: 0.9, green: 0.5, blue: 0.9, alpha: 0.5)
let parentView = mapView.superview
let pFrame = parentView!.frame
let maskView = PartialTransparentMaskView(frame: CGRectMake(0, 0, pFrame.width, pFrame.height), backgroundColor: maskColor, transparentRects: nil, transparentCircles:array, targetView: mapView)
parentView!.insertSubview(maskView, aboveSubview: mapView)
守则看起来像这样
i
如何在圆圈周围添加红色边界?
答案 0 :(得分:0)
在maskView上方添加一个UIView,其框架方块等于圆的半径,以圆心为中心。
给出circleRadius,让circleCentre成为你的值
#notification-body{
font-size:12px;
padding: 5px 10px 5px 5px;
white-space: nowrap;
}
#notification-panel{
margin-bottom:5px;
word-wrap: break-word;
}
#notification-info{
margin: 0px;
white-space: normal;
}
作为示例值,如果没有什么时髦的话,这应该有用,并且视图只是顶部的视图。
答案 1 :(得分:0)
maskView
只是一种观点。它甚至不是真正的面具;它只是一个带有透明度的视图。因此,将红色边界绘制到视图中,就像在视图中绘制任何内容一样。
答案 2 :(得分:0)
所以,我检查了PartialTransparentMaskView文件,我看到了添加圆圈的代码。我添加了这些线来绘制边界:
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor);
CGContextSetAlpha(context,2);
CGContextStrokeEllipseInRect(context, holeRectIntersection);
代码部分如下所示:
if let circles = transparentCircles {
for aRect in circles {
let holeRectIntersection = aRect
let context = UIGraphicsGetCurrentContext();
if( CGRectIntersectsRect( holeRectIntersection, rect ) )
{
CGContextAddEllipseInRect(context, holeRectIntersection);
CGContextClip(context);
CGContextClearRect(context, holeRectIntersection);
CGContextSetFillColorWithColor( context, UIColor.clearColor().CGColor)
CGContextFillRect( context, holeRectIntersection);
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor);
CGContextSetAlpha(context,2);
CGContextStrokeEllipseInRect(context, holeRectIntersection);
}
}
}