Ios 基于drawRect的UIView大小

Ios 基于drawRect的UIView大小,ios,uiview,overlay,drawrect,polygons,Ios,Uiview,Overlay,Drawrect,Polygons,下面是一个场景,我想在另一个UIView上添加一个不规则多边形形状的UIView。我使用UIView的drawRect方法绘制不规则多边形 我想知道如何使UIView的框架成为不规则多边形的框架 很明显,我不能使用initWithFrame,因为那样会得到一个矩形框架 干杯UIView的框架是一个矩形。从页面: 帧 框架矩形,用于描述视图的位置和位置 在其superview的坐标系中调整大小 @属性(非原子)CGRect帧 因此,除了一个CGRect之外,您永远不会使视图的帧成为任何对象。但是,

下面是一个场景,我想在另一个UIView上添加一个不规则多边形形状的UIView。我使用UIView的drawRect方法绘制不规则多边形

我想知道如何使UIView的框架成为不规则多边形的框架

很明显,我不能使用initWithFrame,因为那样会得到一个矩形框架

干杯

UIView的框架是一个矩形。从页面:

框架矩形,用于描述视图的位置和位置 在其superview的坐标系中调整大小

@属性(非原子)CGRect帧


因此,除了一个
CGRect
之外,您永远不会使视图的
成为任何对象。但是,您可以只使用矩形作为多边形的封闭矩形。绘制多边形,使其正好适合矩形内部,并使多边形外部的区域保持透明。

是的,但这样可能会有相互重叠的多边形,因为视图的多边形比需要的大,并且会相互重叠。我想做的是为地图实现viewForAnnotation,我需要给每个注释一个多边形形状的自定义视图,当点击多边形时,会出现一个调用,但不确定如果多边形彼此重叠会发生什么。还有其他方法吗?在视图中覆盖
-pointInside:withEvent:
,仅当点位于多边形中时才返回YES。