迅捷100天:项目2 –点击或按住计数器
环境:Swift 4 /日期:2 /日期:2017年10月18日/时间:3小时
我学到什么:
・长按手势
・计时器(在此不使用)
Github原始码:HERE
小知识:
怎么处理Long Press这个小玩意儿呢〜
- 从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时,我想得太复杂了!
为什么?
- 一开始手势的部分,添加得还算顺利,之前有玩过一两次,老样子没太大变化,但我深刻记得上回在研究手势的时候,需要非常多种类的手势,并且牵涉到整个页面的移动,滑动,并且不像这般拉个outlet&action马上搞定,非常烦人,更该死的的是我还失败了,后来暂时放下这块研究别的部分,不过基本的方法还是没问题,所以顺顺利利的添加了outlet&action。
然后,我进入了想太多境界! - 上面“我学到什么:”的部分,有提到Timer,为什么呢?如刚刚所说,接下来要处理Long Press Gesture @IBAction,我打算“ Long Press怎么会知道要连续加数字呢?”
- 因此,我自作聪明的灵机一动,timer就决定是你了!var timer .. blabla…
反而把code变得很复杂,我又觉得好像不应该第二天就这么复杂((又自以为了lol,重新开始询问谷歌大哥找答案,结果发现只要把原本处理逻辑的code拷贝到Long Press Gesture的@IBAction就好,如下:
//计数器基本逻辑
num + = 1
number.text =字符串(数字)
因此,我发现了新领域,时间控制器NSTimer,讲计时器的应用,每N秒执行一次功能,例如:每120秒检查一次使用者位置func location(),方法中传送经纬度位置到此处,可以作为监听男友行为的应用。
保持头脑简单。 保持生活简单。