gpt4 book ai didi

ios - 在具有不同 zPosition 的 UIView 中管理手势

转载 作者:行者123 更新时间:2023-11-29 12:51:53 25 4
gpt4 key购买 nike

我有一些 UIViews 位于不同的 zPositions。这个想法是在呈现观点的那一刻有一种深度的感觉。所有 View 的图层都是 MainView.layer 的子图层。我想做的是在我的 View 中添加手势,这样它们就可以在触摸时响应手势。我在我的 ViewController 中这样做了:

UIImageView *top = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"l.png"] ];
top.frame = CGRectMake(300, 500, 400, 200);
top.layer.zPosition = 100;
[self.view.layer addSublayer:view.layer];

UIImageView *mid = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"g1.png"] ];
mid.frame = CGRectMake(200, 100, 400, 800);
mid.layer.zPosition = 0;
[self.view.layer addSublayer:view.layer];

UIImageView *back = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"3a.png"] ];
back.frame = CGRectMake(500, 100, 570, 800);
back.layer.zPosition = -100;
[self.view.layer addSublayer:view.layer];

当我尝试这样做时:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[back addGestureRecognizer:tap];

点击不起作用。有什么建议吗?

最佳答案

UIGestureRecognizer 仅适用于 View 。 back 是 View ,但是当您在层次结构中添加时,您只添加了它的层。
我不明白谁是view,因为你继续改变zposition,但是它从哪里来是不可见的。
您不需要创建 UIImageView 来在图层上显示图像,您只需创建一个图层并更改其内容属性,如下所示:

CALayer * layer = [CALayer layer];
layer.frame = ...
layer.contents = (id)[UIImage imageNamed:@"3a.png"].CGImage;

关于ios - 在具有不同 zPosition 的 UIView 中管理手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com