2014-07-10 86 views
0

我试着做一个UIView绘制一个点一个圆圈很明显,我可以得到它圈像这样平局圆圈点

view.layer.cornerRadius = 50.0f; 
view.layer.masksToBounds = YES; 

但我想使像这样

enter image description here

这一定是可能的,但我无法弄清楚。可能只是累了:正如我所需要的视图的内容符合形状/

内容将持有的动态图像或改变颜色,因此设计的图像心不是真的有可能

+0

如果内容是要保存动态图像/形状,那么你需要看看CAShapeLayers或drawRect。 – guenis

+0

创建一个自定义的'UIView'类并实现'drawRect:'方法。绘制一个圆和一个三角形来获得你想要的形状。 – rmaddy

+0

https://www.cocoacontrols.com/controls/bubblethingie。希望这可以帮助.. – lakesh

回答

0

还有一堆的方法来完成这个。这是一个例子。只需将其放入您的drawRect:方法即可。

CGContextRef context = UIGraphicsGetCurrentContext(); 

// Oval 
UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0, 0, 100, 100)]; 
[UIColor.grayColor setFill]; 
[ovalPath fill]; 

// Rectangle 
CGContextSaveGState(context); 
CGContextTranslateCTM(context, 79, 50); 
CGContextRotateCTM(context, -45 * M_PI/180); 

UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRect: CGRectMake(0, 0, 25, 25)]; 
[UIColor.grayColor setFill]; 
[rectanglePath fill]; 

CGContextRestoreGState(context); 

你可能要考虑得到一个应用程式,例如PaintCode来帮助你喜欢这个东西。它轻松处理这些图纸,并可帮助您了解如何自己创建它们。