我有一个 UIViewController 类,它包含 2 个自定义 UIView 类,它们是:
项目视图
绘图视图
在 UIViewController ViewDidLoad 方法中,我有以下代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
item = [[ItemView alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 230, 230)];
item.opaque = NO;
[self.view addSubview:item];
drawing = [[DrawingView alloc] initWithFrame:self.view.frame];
[self.view insertSubview:drawing aboveSubview:item];
[item release];
[drawing release];
}
DrawingView 类获取 UITouches 并相应地在屏幕上绘制。
我的问题是:
除了在 ItemView 类对象的顶部之外,我可以在整个屏幕上绘制。DrawingView 类无法绘制到 ItemView。
让我用另一个词来解释它:
除 itemView 子视图区域外,DrawView 类在屏幕上工作。在 itemView 之上,DrawView 不能进行任何绘制,但除了 itemView 区域之外,它可以进行绘制。
我能做些什么?可能是什么问题?如何在所有屏幕上进行绘图,包括 ViewController 类上 addSubview 添加的 itemView 区域?
编辑:我正在添加一个屏幕截图以便更好地解释问题
编辑2:我发现问题与不透明度有关。在 ItemView 类中,我将添加的 UIImageView 对象 alpha 值更改为 0.5f。结果是半透明视图,现在我的手指画是可见的。然而,这不是我想要的。我想在视图的顶部绘图。我不想玩 alpha 值。