如何划分UIView N等于UIView

时间:2014-03-31 12:44:38

标签: ios objective-c uiview core-graphics

我是iOS新手,我想根据UIView的中心点将N帧划分为UIView等于大小的UIView帧。

我为圆圈做的例子: http://s14.postimg.org/6w4xfa80h/i_OS_Simulator_Screen_shot_Mar_31_2014_7_03_03_P.png

我必须这样做。但是视角的形状不是圆弧,它应该与视图矩形框相同。

我怎样才能实现。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您尝试做的是创建如下所示的视图:

8-way split

请注意,区域不是矩形,因此它们不能是视图帧。它们是可以通过CGPath函数创建的形状。 创建这些行的简单方法是使用CGPathAddLineToPoint。始终添加一条从视图中心开始并沿y坐标向下移动的直线。您所要做的就是通过CGAffineTransform *m重复CGAffineTransformRotate来更改angle = 2*pi/n参数,其中n是等份数。

假设你有一个CGAffineTransform t和上述角度,你可以循环n次:

CGPathRef path = CGPathCreateMutable(); CGPathAddLineToPoint(path, CGAffineTransformRotate(t,angle), view.frame.center.x, view.frame.center.y + view.frame.size.y); // Now do something with that line....