iOS Swift:UITapGestureRecognizer和Storyboard
我是iOS编程的新手,显然是Swift的新手(因为它是新的),而且在过去的35年中,编程的整体效果最好。然而,过去20年来,我一直担任包括程序员的多学科团队的经理,因此我理解了很多软件设计的基本概念。我为上下文提供这些信息。iOS Swift:UITapGestureRecognizer和Storyboard
我正在为一个类的数据库应用程序工作,并添加了很多我自己选择的功能来增强我自己的学习体验。我昨天想让用户点击一个UIImageView为数据库条目选择一张新图片。我在UIImageView中添加了一个Tap Gesture Recognizer,并将IBAction连接到相应的视图控制器,然后向IBAction添加了一个println()以测试它是否被识别。在UIImageView的水龙头没有产生的println()和我很沮丧,所以我看了看周围的管的一些提示,发现一些示例代码编程识别龙头:
let recognizer = UITapGestureRecognizer(target: self, action: Selector("didTap:"))
recognizer.delegate = self
view.addGestureRecognizer(recognizer)
这工作一种享受,像他们说的那样。然而,我很沮丧,因为我看到很多关于如果我使用故事板时代码是不必要的想法。在对测试项目进行了一些实验之后,我最终发现UIImageView必须在属性检查器中具有“用户交互已启用”(不是默认设置)才能识别用户交互,这在事后才是有意义的。
我的问题(最后!)是两种方法之间的差异是否是风格的,还是有理由选择以编程方式通过故事板实现它。用于演出或授权或其他。例如,我可以看到,我可以将识别码嵌入if语句中。还有其他原因吗?
这个问题对于这种格式太理论吗?
恕我直言,我总是使用故事板,除非,直到我遇到了必须在代码中完成的事情。如果我可以在大型互连块中看到它,理解应用程序的整体形状在概念上更容易。不应该有任何明显的性能差异。
关于您的特定示例,无论何时我必须可以点击图像,我只需将图像放入UIButton
,然后在控制器中将按钮挂到IBAction
。这消除了添加自定义手势识别器并记住使图像可点击的需要。
谢谢您的回复! – 2014-09-01 21:10:03
对这个话题缺乏活动让我相信答案是“个人风格”。我会标记它的答案。谢谢! – 2014-09-03 20:05:14