【问题标题】:size of UIView based on drawRect基于drawRect的UIView大小
【发布时间】:2012-03-19 00:33:28
【问题描述】:

所以这是场景,我想在另一个 UIView 的顶部添加一个不规则多边形形状的 UIView。我使用 UIView 的 drawRect 方法绘制不规则多边形。

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

显然我不能使用 initWithFrame 因为它会给它一个矩形框架。

干杯

【问题讨论】:

    标签: ios uiview overlay drawrect polygons


    【解决方案1】:

    UIView 的框架一个矩形。来自UIView Class Reference 页面:

    框架

    框架矩形,描述视图的位置和 其父视图坐标系中的大小。

    @property(nonatomic) CGRect 框架

    因此,除了CGRect 之外,您永远不会将视图的frame 设为其他任何内容。但是,您可以 做的只是将矩形用作多边形的封闭矩形。绘制多边形,使其刚好适合矩形,并使多边形外部的区域保持透明。

    【讨论】:

    • 是的,但是这样可能会有相互重叠的多边形,因为视图比它们需要的大并且会相互重叠。我想做的是为地图实现viewForAnnotation,我需要给每个注释一个多边形形状的自定义视图,当点击多边形时,会出现一个标注,不确定如果多边形重叠会发生什么虽然彼此。有没有其他办法?
    • 在您的视图中覆盖 -pointInside:withEvent:,并且仅当点在您的多边形中时才返回 YES。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多