迅捷100天:项目2 –点击或按住计数器

环境:Swift 4 /日期:2 /日期:2017年10月18日/时间:3小时

我学到什么:

・长按手势
・计时器(在此不使用)

Github原始码:HERE


小知识:

怎么处理Long Press这个小玩意儿呢〜

  1. 从Storyboard的右下方,搜寻长按手势,紧接着拖曳到你要的页面上,长按就会显示在页面的最上方,如下图。

这个的动作的意义是“将Long Press Gesture元素放置到可爱的“ View”上。。欸等等〜但我们想要做的是跟Tap或Hold按钮绑在一起。

我们先进入第二步骤,后续再做说明,怎么绑在button上。

2.替Long Press Gesture拉一个IBOutlet至相对应的viewController,同时替Tap或Hold拉一个IBOutlet。

  @IBOutlet var longPress_Outlet:UILongPressGestureRecognizer!@IBOutlet弱var TaporHold_Outlet:UIButton! 

3.前往viewDidLoad(),放置以下代码:

  TaporHold_Outlet.addGestureRecognizer(longPress_Outlet) 

这里,我们将成为TaporHold_Outlet运用“ addGestureRecognizer”把longPress_Outlet加进来。因此原本在Storyboard的时候, “将Long Press Gesture元素放置到“ View”上 ,,完成上面的步骤,“将Long Press Gesture再放置到TaporHold的按钮上」。


心得:

简单的事情考虑得很复杂,可以发现新领域,把复杂的现象看得很简单,可以发现新规律— —牛顿

这个专案其实没有很困难,但在处理Long Press Gesture时,我想得太复杂了!

为什么?

  1. 一开始手势的部分,添加得还算顺利,之前有玩过一两次,老样子没太大变化,但我深刻记得上回在研究手势的时候,需要非常多种类的手势,并且牵涉到整个页面的移动,滑动,并且不像这般拉个outlet&action马上搞定,非常烦人,更该死的的是我还失败了,后来暂时放下这块研究别的部分,不过基本的方法还是没问题,所以顺顺利利的添加了outlet&action。
    然后,我进入了想太多境界!
  2. 上面“我学到什么:”的部分,有提到Timer,为什么呢?如刚刚所说,接下来要处理Long Press Gesture @IBAction,我打算“ Long Press怎么会知道要连续加数字呢?”
  3. 因此,我自作聪明的灵机一动,timer就决定是你了!var timer .. blabla…
    反而把code变得很复杂,我又觉得好像不应该第二天就这么复杂((又自以为了lol,重新开始询问谷歌大哥找答案,结果发现只要把原本处理逻辑的code拷贝到Long Press Gesture的@IBAction就好,如下:
  //计数器基本逻辑 
num + = 1
number.text =字符串(数字)

因此,我发现了新领域,时间控制器NSTimer,讲计时器的应用,每N秒执行一次功能,例如:每120秒检查一次使用者位置func location(),方法中传送经纬度位置到此处,可以作为监听男友行为的应用。

保持头脑简单。 保持生活简单。