如何将我的一个View与UIView类连接?

时间:2012-04-05 14:45:57

标签: ios class uiview

在我的xib文件中,我有一些View。我有PainView类(UIView)。在身份检查器中,我为此视图设置了PaintView,并设置了@property (strong, nonatomic) IBOutlet PaintView *paintView;

它工作正常,直到我决定改变绘制方法。 我从这个file复制了代码并粘贴在PaintView.m中(与PaintView.h相同)。

但它只有在我写

时才有效
[self.view addSubview:[[PaintView alloc] initWithFrame:self.view.bounds]];

但它会在所有其他图层,按钮等上创建新图层。我需要将此类与现有View连接。

我尝试了paintView = [[PaintView alloc] initWithFrame:self.view.bounds];,但它没有用。

在控制台中,它总是说无效的上下文:

<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextGetBaseCTM: invalid context 0x0
<Error>: CGContextConcatCTM: invalid context 0x0
<Error>: CGContextSetBaseCTM: invalid context 0x0
<Error>: CGContextSetBaseCTM: invalid context 0x0
你能帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要使用与initWithFrame:中相同的初始化实现另一个init方法 它的名字是:

- (id)initWithCoder:(NSCoder *)coder 
{
  ...
}

initWithCoder:是从NIB文件加载的init方法,用于视图。