加载自定义UIView

时间:2014-01-16 11:33:23

标签: ios objective-c

我有一个名为RedDot的自定义视图,它在.m文件中有这个:

   - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            // Initialization code
        }
        return self;
    }

    - (void)drawRect:(CGRect)rect
    {
        //// Color Declarations
        UIColor* fillColor = [UIColor colorWithRed: 0.886 green: 0 blue: 0 alpha: 1];

        //// Oval Drawing
        UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(30, 30, 7, 7)];
        [fillColor setFill];
        [ovalPath fill];
        [fillColor setStroke];
        ovalPath.lineWidth = 1;
        [ovalPath stroke];
    }

我正在尝试使用此代码在主视图中调用它,但它不起作用:

RedDot *dot = [[RedDot alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 30.0f, 30.0f)];
[self.view addSubview:dot];

编辑:

它只是在角落里显示一个黑色矩形。

1 个答案:

答案 0 :(得分:2)

您创建要在视图边界外绘制的贝塞尔曲线路径:

UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(30, 30, 7, 7)];

为您的圈子创建更大的视图或更改矩形,然后您应该看到您的绘图。