我制作了一个UIViewController类。显示正常。然后我创建了一个UIView类来使用它。在InterfaceBuilder中,我将UIView类设置为我自己的自定义UIView类。然后我覆盖了该类中的drawRect方法:
- (void)drawRect:(CGRect)rect
{
NSLog(@"Yes we are drawing with width: %f", rect.size.width);
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(g, 1, 1, 1, 1);
CGContextSetRGBFillColor(g, 1, 1, 1, 0);
CGContextFillRect(g, CGRectMake(0, 0, 100, 100));
我可以看到日志语句打印,但是我的绘图代码实际上没有任何可见效果。矩形不会在屏幕上绘制。在InterfaceBuilder中是否还有其他一些连接可以使它工作?
除了在InterfaceBuilder中为我的视图控制器的UIView属性设置类名外,我没有改变任何其他内容。
由于
答案 0 :(得分:0)
CGContextSetRGBFillColor的最后一个参数是填充颜色的alpha。您将其设置为零,因此您将填充透明色。试试这个:
- (void)drawRect:(CGRect)rect
{
NSLog(@"Yes we are drawing with width: %f", rect.size.width);
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(g, 1, 1, 1, 1);
CGContextSetRGBFillColor(g, 1, 1, 1, 1);
CGContextFillRect(g, CGRectMake(0, 0, 100, 100));
...