- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在启动一个带有 textField
的简单 UIView
- 让我们称之为 orderSetNameView
- 点击按钮即可。我希望使该 View 成为模态视图,但不使用
[UIViewController PresentModalViewContoller:animated:]
。
看来我可以简单地设置textInputView.exclusiveTouch = YES
来实现这一点。
Apple 文档介绍了 exclusiveTouch
:
A Boolean value indicating whether the receiver handles touch events exclusively. If YES, the receiver blocks other views in the same window from receiving touch events; otherwise, it does not. The default value is NO.
我假设“相同的窗口”意味着相同的 UIWindow,其中我只有一个。
问题是,当我实例化 orderSetNameView,将其添加为 subview 并设置 exclusiveTouch = YES
时,触摸事件发生在我的应用程序的所有其他 View 中,即其他 View 中的触摸事件没有按预期被阻止。
// ....
[self.view addSubview:self.orderSetNameView];
[self.orderSetNameView openWithAnimationForAnimationStyle:kMK_AnimationStyleScaleFromCenter];
}
// Set as modal
self.orderSetNameView.exclusiveTouch = YES;
orderSetNameView
不应该阻止所有其他 View 中的触摸事件吗?我错过了什么?
最佳答案
来自 Apple 开发者论坛:
exclusiveTouch only prevents touches in other views during the time in which there's an active touch in the exclusive touch view. That is, if you put a finger down in an exclusive touch view touches won't start in other views until you lift the first finger. It does not prevent touches from starting in other views if there are currently no touches in the exclusiveTouch view.
To truly make this view the only thing on screen that can receive touches you'd need to either add another view over top of everything else to catch the rest of the touches, or subclass a view somewhere in your hierarchy (or your UIWindow itself) and override hitTest:withEvent: to always return your text view when it's visible, or to return nil for touches not in your text view.
关于iphone - 为什么 UIView ExclusiveTouch 属性不阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3946147/
我正在尝试将 exclusiveTouch 属性设置为我的自定义 UITableViewCell。 但是,添加这段代码似乎不起作用。 for (UIView *view in cell.subview
我正在启动一个带有 textField 的简单 UIView - 让我们称之为 orderSetNameView - 点击按钮即可。我希望使该 View 成为模态视图,但不使用 [UIViewCont
在 iOS 7 上,当 UIAlertView 出现时,它的按钮似乎自动设置了 exclusiveTouch=YES。这样一来,如果您在警报 View 中同时按下多个按钮,就不会发生什么可怕的事情。
我有两个 UIView,里面装满了 UIButton。我只想允许一个按钮一次接受每个 UIView 的触摸。也就是说,如果您在每组按钮中有一个手指,我希望多点触控工作,但如果您在同一组中有两个手指,则
我设置了 UIButton的独家联系 YES ,并且工作正常(如果我触摸按钮,其他 View 将不会收到触摸事件)。异常(exception)是当我触摸 UIBarButtonItem在导航栏上,它的
我试图忽略添加到我的自定义 UITableViewCell 子类的某些 subview 的触摸。我将该 subview 的 exclusiveTouch 设置为 YES,但触摸仍会触发单元格选择。有没
在我的一个 iPhone 项目中,我有三个 View ,您可以通过触摸和拖动来移动它们。但是,我想阻止用户使用两根手指同时移动两个 View 。因此,我尝试使用 UIView.exclusiveTou
我确信有人希望有多个按钮同时接受触摸的原因有很多。然而,我们大多数人一次只需要按下一个按钮(用于导航、以模态方式呈现某些内容、呈现弹出框、 View 等)。 那么,为什么 Apple 将 UIButt
我是一名优秀的程序员,十分优秀!