我有一个名为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];
编辑:
它只是在角落里显示一个黑色矩形。
答案 0 :(得分:2)
您创建要在视图边界外绘制的贝塞尔曲线路径:
UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(30, 30, 7, 7)];
为您的圈子创建更大的视图或更改矩形,然后您应该看到您的绘图。