如何使用具有中心孔的圆角创建uiview,这意味着只有一个中心空白的圆圈?
答案 0 :(得分:1)
你需要的是椭圆形矩形的bezier路径。
UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(67, 18, 50, 50)];
[UIColor.grayColor setStroke];
ovalPath.lineWidth = 1.5;
[ovalPath stroke];
您可以增加线宽以使中心孔更小。
对于线宽25:
对于行宽1.5:
如果你想在直肠视图中打洞:
- (void)drawFrame: (CGRect)frame
{
UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(CGRectGetMinX(frame) + 13, CGRectGetMinY(frame) + 13, 50, 50) cornerRadius: 8];
[UIColor.darkGrayColor setStroke];
rectanglePath.lineWidth = 8;
[rectanglePath stroke];
UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(CGRectGetMinX(frame) + 25, CGRectGetMinY(frame) + 25, 26, 26)];
[UIColor.darkGrayColor setStroke];
ovalPath.lineWidth = 31;
[ovalPath stroke];
}
答案 1 :(得分:0)
$decoded = base64_decode($base64StringImg);
header("Content-type: image/GIF");
return'<img src="data:image/GIF;base64,"'.$decoded.'" />';
答案 2 :(得分:0)
你可以掩饰你的UIView以实现任意形状。我给出了一个考试如何制作一个有洞的圆圈。
UIView * redRing = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
redRing.backgroundColor = [UIColor redColor];
CGPoint center = CGPointMake(100, 100);
CGFloat R = 100; //circle radius
CGFloat r = 50; //hole radius
UIBezierPath* maskPath = [UIBezierPath bezierPathWithArcCenter:center radius:R startAngle:0 endAngle:2*M_PI clockwise:YES];
[maskPath appendPath:[UIBezierPath bezierPathWithArcCenter:center radius:r startAngle:0 endAngle:2*M_PI clockwise:NO]];
CAShapeLayer* mask = [[CAShapeLayer alloc] init];
[mask setPath:maskPath.CGPath];
redRing.layer.mask = mask;
答案 3 :(得分:-1)
使用UIImageView而不是UIView,使用中心transperent设置正确的图像到ImageView,根据您的要求设计的图像并为UIImageview设置背景颜色clearclor
答案 4 :(得分:-1)
请详细解释一下或发布任何参考图片,因为使用UIView是不可能的。
对于您的解决方案,您可以制作一个这样的图像(UIImageView)。