gpt4 book ai didi

objective-c - 顶部检测触摸的透明 UIView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:17 25 4
gpt4 key购买 nike

我有一个使用 UISplitViewController 构建的 iPad 项目:

  • Root View Controller
  • 详细 View Controller

他们都在自己的类中使用手势识别器检测触摸。

我想在所有类的顶部创建一个透明的 UIView 以仅检测对角线滑动(从左下角到右上角)。

因此,当检测到滑动时,我将启动一个函数否则不附加任何内容并且应该在低级 View 上传递触摸。

我尝试了这两种解决方案:

  • 在此顶部透明 View 上添加一个 GestureRecognizer,但这将隐藏对较低层级 View 的所有触摸。(启用 userInteraction:当然是 YES);

另一个解决方案是这样初始化

-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self setBackgroundColor:[UIColor colorWithWhite:1 alpha:0.01]];
[self setUserInteractionEnabled:NO];
}

return self;

并尝试检测滑动

  - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

但此时所有的触摸都没有被检测到。

谁有好的解决方案?

最佳答案

我不会像您提到的那样创建透明的 UIView。我将添加一个 UISwipeGestureRecognizerUISplitViewController 的 View ,这已经是包含所有 subview 的 View 。您可以访问 app 委托(delegate)中的 View :

 UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;

// attach the swipe gesture to the view that embeds the rootView and the detailView
UISwipeGestureRecognizer* swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:splitViewController.view action:@selector(swipeUpdated:)];

关于objective-c - 顶部检测触摸的透明 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068773/

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