问题标签 [setuserinteractionenabled]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6195 浏览

ios - 哪个更好,setEnabled 或 setUserInteractionEnabled?

我想UIButton禁用用户触摸。两者都setEnabled可以setUserInteractionEnabled做到这一点。哪个更好?它们有何不同?

0 投票
1 回答
391 浏览

ios - 关于 iOS 中的 setUserInteractionEnabled UIImageView

我是 iOS 的新手,我有一个问题:我有一个从UIImageViewsetUserInteractionEnabled扩展的对象,例如:

然后当我将它添加到UIView时:

然后在touchesBegan,我仍然在触摸它时捕获事件(触摸它时我仍然收到日志):|

然后源码 touchBegan 方法:

我不认为这有问题,因为我尝试添加相同的 UIImageView,如下所示:

它运行正常:| 当点击 image1 和 image2 时我无法捕捉事件。

所以我有错误?请给我解释一下!感谢大家的支持!

0 投票
4 回答
2339 浏览

ios - 我可以让 UIPresentationController 在 PresentingViewController 上有 userInteractionEnabled 吗?

我正在为 iPhone 和 iPad 的通用应用程序构建自定义 GUI。在 iPad 上,它严重依赖“sideViews”来实现内容操作、detailInformation 等实用程序(想想高级的 SplitView)。从视觉的角度来看,新的 UIPresentationController 可以让我展示这些“sideViews”(而不是使用 dimmedView),并且实现很容易构建和维护,同时仍然很好地与故事板集成。但是我需要能够在presentingViewController 可见时操作presentingViewController 的内容。所以我的问题是,我可以在呈现侧视图时在presentingViewController 上设置userInteractionEnabled(或类似的)吗?

0 投票
1 回答
184 浏览

objective-c - WatchKit 用户与标签的交互

在为演讲计时的应用程序编程时,我意识到我希望能够让人们通过简单地点击计时器(一个简单WKInterfaceLabel的更新)来随时暂停计时器。我已经知道如何创建一个计时器以及如何在一个方法中暂停它,但我似乎无法弄清楚如何点击它WKInterfaceLabel并为其创建一个动作。

在 iOS 上,我可以简单地将userInteractionEnabled属性设置为YESfor a UILabel,但似乎该属性在 上不存在WKInterfaceLabel,这引发了一个问题,即如何让用户简单地点击标签来执行一些代码。

我只是想知道是否有人对此有解决方法,因为在 Apple 的开发人员文档中我找不到类似的属性。

0 投票
1 回答
154 浏览

ios - 禁用特定视图组件(当显示 SWREvealViewController 时)

我在我的应用程序中使用了 John Lluch 的 SWRevealViewController,当侧边栏出现并且用户想要关闭它时,会不断单击前视图。

我想要做的是在显示侧边栏(后视图)时禁用前视图,但这并不像我想象的那么容易。禁用前视图 ( self.revealViewController.frontViewController.view.userInteractionEnabled = NO;) 时,手势监听器和显示按钮监听器也被禁用,因此用户无法再次关闭侧边栏。

那么有没有人解决过类似的问题?如何禁用视图控制器的特定组件?我尝试查看对象并找到正确的子视图,但它太复杂而且很难看。

感谢您对此的任何意见!

0 投票
3 回答
1974 浏览

ios - iOS UIButton - UIButton setUserInteractionEnabled 和 setEnabled 之间的区别

等等!!!:
我知道你可能认为这个问题已经被问过好几次了。但我可以向你保证,这个问题是独一无二的。

问题:
在 iOS 应用程序中,想象一下有两个按钮,如下图所示,它们有两个动作,其行为类似于切换逻辑。

在此处输入图像描述

其逻辑可能如下:

所以我看不出setEnabled方法和setUserInteractionEnabled方法之间有很大的区别。它们的行为就像一个阻止用户不让使用它的单一方法。但是,如果它是相同的,我们如何能够检测到isEnabled true甚至false何时setUserInteractionEnabled设置为False

以下是使这个问题不可能与 SO 中的另一个问答线程重复的原因:

  • 尽管一些排名靠前的代码可能已将我的问题标记为可能重复,但 Q&A 并没有给我正确的理解。
  • 正如@danh 所说,

至少一个原因是在动画期间,UIViews 上禁用了用户交互。控件在动画时将自己绘制为灰色是错误的。所以至少在动画期间,这两个属性有不同的含义。

给我真正的答案或理由,看看这两种方法有两个原因。因为任何人都可以说这setUserInteractionEnabled不会对 UI 状态进行更改,但至少只有在 @danh 的回答首先表明它可能会在 UI 动画期间隐式使用。

0 投票
2 回答
613 浏览

overlay - 在 overlaySKScene 上设置 userInteractionEnabled=true/false 无效

我有一个像这样的 SceneKit 视图:

现在,如果我在userInteractionEnabled上设置属性overlaySKScene,它没有效果,即它始终处于启用状态,所以我不能禁用用户交互overlaySKScene!?所有添加到的子 SKNodeoverlaySKScene仍将接收用户交互...</p>

即这没有效果,它总是启用

不知道是不是应该这样?但似乎这就是应该如何禁用用户交互overlaySKScene......?

0 投票
0 回答
1199 浏览

ios - 为什么 userInteractionEnabled 属性不适用于特定的 UIButton?

这可能是我处理过的最令人沮丧的情况,它可能有最简单的解决方案。

我有这个UIButton storeBviewDidLoad:调用我的UIViewController. 在创建按钮之前,我创建了 5 个其他按钮。

在 期间viewDidLoad:,我运行了这个方法,该方法setupFBConditions确定我的forwardB按钮对象是否应该有一个alpha0.5 并userInteractionEnabled设置为 0。在这种情况下,按钮看起来和执行它应该的方式(本质上,就像它不存在一样)。

此外,在对我的一个对象执行此特定动画期间UIView,我决定将userInteractionEnabled我的对象的属性设置restartB为 0(以便在动画期间不发生交互。该性能也很成功。

然而,当我决定写:

在动画开始时(意图保持此状态直到游戏结束或restartB再次被点击)和NSLog按钮对象,日志显示userInteractionEnabled属性为 0.5 NOalpha就像它应该的那样。但是,这些属性在任何时候都不会反映到 UI。

storeB我什至不是最后一个要添加到层次结构的视图(尽管它是最后一个UIButton)。我不知道为什么这些更改没有生效。

我不会再发布任何代码了,因为除了上面的两行之外没有什么可发布的了。问题+解决方案显然很简单。

************ 更新 **************

这是我的一个滑动手势操作(之后storeB.userInteractionEnabled = NO;)结束时的日志报告:

框架是正确的,alpha 和交互设置是正确的,superview 框架(0,0,320,568)正是它应该是的。

*********** 第二次更新 **************

万一有人发现这很有用...检查您的/的_retainCount属性,并在考虑对对象执行的所有操作时查看它是否看起来异常高。我的保留计数应该是 2,所以每次我更改属性(我认为是我的第一个实例)时,它实际上只影响第二个实例(我什至不知道存在)。UIViewUIButtonstoreB

0 投票
1 回答
802 浏览

ios - 如何禁用 UIView 掩码的用户交互

TL;博士

我只想知道是否有任何方法可以仅对视图的屏蔽部分禁用用户交互。

这是场景:

  1. 我有两个视图View AView B,它们都是Equal WidthEqual Height

  2. 视图 B 位于视图 A 之上。

  3. 我在底部的视图 B上应用了蒙版(CAShapeLayer)以查看视图A的内容(两个按钮)

由于View B有一个面具,我只能看到View A的内容,但我无法与之交互。

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
158 浏览

ios - 如何将 AVPlayerViewController 的 userinteractionEnabled: 设置为 NO?

我尝试将 AVPlayerViewController 的 userinteractionEnabled: 设置为 NO

但我有一个错误

没有可见的@interface 这是我的完整代码:

我只是希望人们在视频期间不能点击屏幕。

提前致谢。