在ios中创建自定义控件

时间:2013-09-07 18:00:25

标签: ios cocoa-touch uiview

我想创建自定义圆视图。

我制作了一个UIControl子类,并命名为CircleView。我已应用Corner Radius使其看起来像Circle。

circleView  = [[CircleView alloc]initWithFrame:CGRectmake(0, 0 , 200, 200)];

接下来,我已经导入到根视图控制器,使用框架分配给我的根视图控制器上的显示。所以我的问题是,

当我触及视角时,它会对事件做出反应。为什么......?是可能的在半径圆中添加事件。

1 个答案:

答案 0 :(得分:3)

无论您在该矩形内呈现什么形状,视图始终都是矩形。

要使圆圈视图仅响应圆圈内的事件,您需要覆盖hitTest:withEvent:方法。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    if (/* point is within circle */) {
        return self;
    } else {
        return nil;
    }
}