问题标签 [uicontrolevents]
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.
ios - UIControlEventTouchUpInside 在 UIPanGesture 之后没有触发
出于自定义原因,我正在构建自己的滑块控件,如果需要,它是使用多个 UIImageView 和 UIButton 构建的。我已经使用 UIPanGestureRecognizer 进行平移,它工作正常。我正在尝试挂钩一个事件,该事件将处理 UIControlEventTouchUpInside 的代码,但在 Pan 事件触发后我无法触发它。我已经使用 UITapGestureRecognizer 和使用 UIButton 的内置事件来实现它,但它只有在它是唯一的手势时才会触发。我需要知道用户何时不再左右拖动滑块,但它只能在用户从屏幕上抬起他/她/它的手指后发生(我不能使用计时器来查看移动何时停止,因为用户可能仍在决定启动 Pan 后的方向)。
简短版本:我如何知道用户何时停止平移控件并将手指从屏幕上移开?
ios - iOS 7 中的 UISwitch valueChanged 事件与以前的比较
在 iOS 6 及之前的版本中,如果您UIControlEventValueChanged
在 a 上注册UISwitch
并且用户点击开关,则当更改动画完成时会调用您的方法。在 iOS 7 中,它似乎发生在开关动画开始时(或至少在触摸结束时)。有没有办法恢复旧的行为?
编辑:我应该澄清我为什么要问这个。我有一个开关UITableViewCell
。当开关值发生变化时,表格的内容也会发生变化,所以我需要调用[tableView reloadData]
. 这些更改过于复杂,无法使用添加/删除部分/单元格动画 API 处理。因此,我的开关在具有新值的新单元格中重新生成,并且我失去了很酷的开关动画。在 iOS 6 和以前的版本中,这不是问题,因为处理程序在所述动画结束时执行。
ios - UIDatePicker 错误?UIControlEventValueChanged 达到最小内部后
我遇到了一个奇怪的效果,它看起来确实像是 iOS7 中的一个错误——但在过去,当我经常认为我在 Apple 的 API 中发现了一个错误时,结果证明这是我自己的误解。
我有一个带有 datePickerMode = UIDatePickerModeCountDownTimer 和 minuteInterval = 5 的 UIDatePicker。我将持续时间初始化为 1 小时,并将其呈现给用户,它显示为带有小时和分钟的两列选择器。(到目前为止,一切都很好。)
用户正在考虑“20 分钟”,因此将 Hour 列滚动到 0。此时选择器读取 0 小时和 0 分钟,而 iOS7 对此并不酷,因此它会自动将分钟轮滚动到 5。我的 UIControlEventValueChanged处理程序被调用,并且 countDownDuration 读取 5 分钟。(还好。)
现在用户抓住分钟轮并将其拖到 20。并且...我的 UIControlEventValueChanged 处理程序没有被调用。(坏的。)
如果我在 UI 中有其他事件,此时检查日期选择器,我确实看到 countDownDuration 设置为 20。但我无法知道用户更改了它,此时它已更改。这是非常可重复的:它总是发生在选择器拒绝设置为 0 之后的第一次更改(提前到 5 分钟)。
请注意,这是在 iOS7 中;它不会发生在 iOS6 中(可能是因为那里的选择器完全可以设置为 0 分钟)。
所以......我在这里错过了什么吗?或者这是iOS7中的真正错误?在后一种情况下,有没有人知道比让一些计时器定期检查当前间隔更好的解决方法?
wpf - 控制事件未从链接到资源字典 wpf 的类触发
您好我正在尝试将一个函数附加到用于输入一些输入信息的文本框,这些输入信息从资源字典加载到接口。这是XML,
从上面的代码中,我尝试使用几种不同类型的控制事件。我成功地链接了我的函数将被放置的类,使用以下几行将类链接到资源字典。
这是我正在使用的课程的代码,
如您所见,我只是使用一条简单的消息来指示事件是否已被触发,项目成功构建并运行良好,但是当我尝试触发 XML 中使用的任何事件时,与事件相关联的函数确实根本不火。
我不确定这是否是将函数链接到资源字典加载的事件的最佳方法,但任何人都可以为我遇到的这个问题提供一些指导。
ios - 如何在 UITableViewCell 上添加 UIControlEvents
我想知道如何将 UIControlEvent 添加到 UITableViewCell?我不能addTarget:action:forControlEvents
在UITableViewCell
. 我不能使用didSelectCellAtIndexPath:
,因为我需要知道 forUIControlEventTouchDown
和UIControlEventTouchUpInside
。我怎样才能做到这一点?
谢谢!
ios - 获取或设置 UIButtonTypeInfoLight 的点击区域
所以看起来 UIButtonTypeInfoLight 类型的 UIButton 的可点击区域比它的框架大得多。正因为如此,我不能在它旁边放一个按钮,试图点击它会点击信息按钮。
有没有人知道如何获得按钮的可点击区域?
编辑:在信息按钮旁边有按钮这不是我的核心问题(只是说明为什么它可能很重要)。我的问题是关于找出这些类型的按钮的“命中区域”。
ios - 如何记录 UIControlEvents?
我试图弄清楚如何记录 UIControlEvents,以便我可以准确地看到我想要添加到我的 UIButton 中的那些。
我似乎无法弄清楚。这是我迄今为止尝试过的:
唯一打印的日志是__PRETTY_FUNCTION__
日志。我也试过这个,以防 switch 语句是问题:
仍然没有任何日志。我究竟做错了什么?
编辑:我通过更改添加到按钮的事件来进一步试验,如下所示:
然后我非常具体地记录了输入:
这是输出:
有谁知道发生了什么?
编辑 2:感谢 TAKEanice,我现在意识到我没有正确编写选择器。我不确定打印出的事件日志到底是什么,但是虽然我基本上将 aUIEvent
转换为枚举类型 ( UIControlEvents
),但它仍然在日志中给出了一个值。无论如何,在我看来,仍然必须有办法找出 UIControlEvents 是什么,但我无法从文档中看到。但是,Apple 在 UIControl 文档中提到了它:
子类化说明 您可能出于以下两个原因之一想要扩展 UIControl 子类:
观察或修改特定事件的动作消息到目标的分派为此,覆盖 sendAction:to:forEvent:,评估传入的选择器、目标对象或UIControlEvents 位掩码,然后按要求继续。
提供自定义跟踪行为(例如,更改突出显示外观)为此,请覆盖以下一个或所有方法:beginTrackingWithTouch:withEvent:、continueTrackingWithTouch:withEvent:、endTrackingWithTouch:withEvent:
当传入的参数为时,如何评估UIControlEvents
位掩码?有任何想法吗?sendAction:to:forEvent:
UIEvent
ios - 点击时更改 UIButton 的图像
我有一个 UIButton,我正在以编程方式创建并添加到 UITableViewCell。
我已成功设置,如果您点击按钮并按住它,它将更改为我为“突出显示状态”设置的图像,但这还不够好。
当用户点击按钮时,我需要它完全更改为新图像。如果用户再次点击按钮,我希望它变回原始图像。
我希望每次点击时图像都会改变。现在,如果他们点击并按住它,它会改变,但一旦他们完成按住它,它就会切换回原始图像。
这是迄今为止我的按钮代码:
我还尝试将新图像的状态设置为“UIControlStateSelected”,但所有这些都会使原始图像变暗一些。它甚至不会更改为新图像,并且再次仅在您按住按钮时才显示其效果。
objective-c - UIControl 子类 - 如何停止触摸事件流?
我正在写一个棋盘游戏应用程序(如国际象棋)。主视图可识别在其全屏视图中的任何位置启动的滑动手势 (UISwipeGestureRecognizer),这会使板旋转。
现在我在板上添加了一个方形透明子视图。这是一个检测触摸的 UIControl 子类 - 作为棋子在棋盘上的移动:
我预计滑动手势将在 UIControl 子类覆盖的屏幕区域被阻止。他们不是。因此,当我在方形 boardControl 上快速触摸并拖动(滑动)时,它首先被检测为棋子移动,然后再次被检测为旋转板的滑动。
如何使我的 UIControl 子类阻止在其框架中启动的触摸事件流到其父视图?
我可以通过在超级视图级别过滤触摸来阻止我的应用程序对滑动手势做出反应,方法是:
或通过:
但我想更早地解决这个问题:我希望 boardControl 在其框架触摸事件中不传递任何开始,在视图层次结构中更高。
UIControl 子类可以“覆盖”它的父视图,并“吃掉”它获得的所有触摸,因此父视图不需要访问它的框架来猜测是否必须过滤掉这样的触摸?
ios - 添加 addTarget: 方法到自定义 UIView
我创建了一个类似于 UIStepper 的自定义 UIView,因为我不喜欢 UIStepper 的外观。我希望 UIStepper 有一个个人计数标签,所以我将它添加到我的自定义视图中并创建了一种增加-减少它的方法。现在我需要一个[customView addTarget:(id) action:(del) forControlEvents:(UIControlEvents)]方法来捕获UIControlEventValueChanged;但我找不到任何关于实施它的信息。我挖掘了 UIButton.h、UIStepper.h 文件,但也没有运气.. 谁能帮我做到这一点?
这是我创建自定义视图的方式...
CounterView.h
CounterView.m