2011-11-16 67 views
0

我试图像下面iPhone - 我可以在drawRect中绘制一个UIView实例吗?

UIView * view = [UIView new]; 
view.frame = CGRectMake(50, 50, 200, 200); 
view.bounds = CGRectMake(0, 0, 400, 400); 
view.backgroundColor = [UIColor grayColor]; 
UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[btn setFrame:CGRectMake(50, 50, 300, 50)]; 
[btn setTitle:@"Button" forState:UIControlStateNormal]; 
[view addSubview:btn]; 
CALayer * layer = [view layer]; 
[layer drawInContext:ctx]; 

我的问题是什么
1)像我们绘制的图像或文字与CGContextRef,可我们绘制一个UIView实例中的一样吗?

我不是那么熟悉核心图形框架,所以请让我知道可能性。我的基本目标是能够通过任何方式使用CGContextRef在drawRect中绘制自定义视图。

谢谢!

回答

0

您必须在您的子类UIView中实施-(void)drawRect:(CGRect)rect方法。在这个方法中,你应该画到当前的上下文。

+0

其实我的想法是创建一个按钮和imageViews的视图,然后绘制这个自定义视图,无论我需要。我不认为我们可以绘制一个按钮或其他东西。所以我想这样做,但没有成功...... –

+0

@BharatJ:你为什么要用按钮绘制一个视图,就好像它是一个图像?如果您希望视图及其子视图显示在视图中,请将其添加为子视图。 –

+0

@PeterHose:其实我想为我的观点实现页面卷曲效果。我下载的所有代码都说绘制视图,就像我获得上下文引用一样,就是这样。对于页面卷曲效果,您需要绘制视图...但是我希望对每个页面都有不同的视图...在那里我卡住了...... –

相关问题