我已经为此苦苦挣扎了几天,但无法查明问题的原因,正如标题所说,子视图上的 UIButton 在“单击”时不会触发 IBAction 插座。
让我详细说明一下,我正在开发一个“类似火种”的应用程序,我正在使用这个第三方库。我正在实现其中包含按钮和其他控制器的自定义视图。这些“卡片”中的按钮不会触发它们的 IBAction 插座。
据我所知,该库执行以下操作:
将 3 个“DraggableViews”堆叠在一起,每个可拖动视图有 2 个子视图,一个是内容视图,我的自定义视图所在的位置,另一个是覆盖视图,顶部有一个图像视图。可拖动视图使用两个手势识别器来做它的事情,第一个是一个点击手势,它调用一个委托方法来处理卡片中的点击事件(在他们的例子中,它用于显示浏览器视图)。第二个手势是平移手势,用于实现卡片的滑动功能。
我已经完成了作业并尝试了几种不同的解决方案,但我无法触发 IBAction。我尝试了以下方法:
当在按钮上触发触摸事件时,使用 DraggableViews 的父视图禁用手势识别器。- 这有效(手势被禁用)但不会触发 IBAction。在平移手势的情况下,我不再能够在触摸按钮时“滑动”卡片,并且点击事件不会在上述委托方法中击中断点。在 UI 中,我的按钮在动画时对触摸做出反应,但它在视图控制器中的出口未能命中断点。我已经禁用了这个:
//- Called when each DraggableView is visible (not called for view at index 0, but works alright for debugging in the mean time)
func koloda(koloda: KolodaView, didShowCardAtIndex index: UInt) {
let subviews = koloda.subviews
for subview in subviews {
if let recognizers = subview.gestureRecognizers {
for gesture in recognizers {
if gesture is UIPanGestureRecognizer || …Run Code Online (Sandbox Code Playgroud)我的输出就像"可选(\"A \"),但我只想要字符串"A".我必须使用这个字符在我的数组上应用过滤器.
let char = selectedSection.characters.last
let str = String(char)
let array = result?.objectForKey("GetClassPeriodList") as! NSArray
let filtered = array.filter {
return ($0["Section_Code"] as! String) == str
}
print(filtered)
Run Code Online (Sandbox Code Playgroud) 我有一个Webpack的Angular项目,我试图使用ng-src的img标签,根据Angular文档:
https://docs.angularjs.org/api/ng/directive/ngSrc
我试图在图像源中有一个变量,如下所示:
<img ng-src="assets/images/{{row.imagePath}}.png" width="1" height="1" />
Run Code Online (Sandbox Code Playgroud)
但是,当我运行服务时,我在浏览器控制台中收到以下错误:
zone.js:569 Unhandled Promise rejection: Template parse errors:
Can't bind to 'ng-src' since it isn't a known property of 'img'.
Run Code Online (Sandbox Code Playgroud)
我用Google搜索并发现其他人使用ng-src而没有Angular + Webpack的问题,所以我不确定为什么它不能在这个项目中工作.谢谢.