Re: [问题] 手势操控之问题

楼主: johnlinvc (阿翔)   2015-03-11 20:56:55
※ 引述《yavis (yavis)》之铭言:
: 小弟想问的是UISwipeGestureRecognizer的问题, 程式码张贴于网址
: http://pastebin.com/3R530cVD
: 我在viewdidload中建立了四个分别为上下左右的swipe手势,
: 四个方向的swipe却占用了15行之多 ..
: 随着添加的东西越来越多,
: 程式码变得越来越杂乱,
: 想请教前辈手势是否有较精简的写法呢,
: 还烦请多多指教, 谢谢
你的function 实在是太长了...
一般来说单一function/method 控制在20 行内会比较好(也有人只能接受5 行内)
http://pastebin.com/q9A1X9vm
可以看到下面关于swipe 的部分做完提取方法(Extract Method) 后只剩4+6 行
而且语意比原来的12 行清楚.
上面设定view 的部分也应该要如法炮制.
edit:
不知道你有没有用storyboard 或 xib 呢?
如果有的话,view init 的部分及Gesture 的部分都可以在interface builder 做.
没有的话,view init 的部分应该要在loadView里,而不是viewDidLoad 里
ps. pastebin 可以开syntax highlight
楼主: johnlinvc (阿翔)   2015-03-11 21:05:00
用IB做gesture的方法 http://goo.gl/Jgoubj
作者: yavis (yavis)   2015-03-11 21:16:00
但是朋友推荐用程式码控制较好,所以我没有用storyboard感谢前辈提供的写法, 让我又多学了一招
作者: fenir (severus)   2015-03-12 01:38:00
可以请教一下为什么init部份要在loadView里比较好呢?
作者: yuanruo (罪を憎んで人を憎まず)   2015-03-12 02:04:00
放loadView只是你在自定ViewController的view时 顺道init了其他相关要加到view上的东西而已 时间点只差了一步你不重载loadview,他也会调用默认的loadview返回空的view至于memorywarning那些放viewdidload里一样也会被call到
作者: nobody1 (无事家中坐)   2015-03-12 14:18:00
真好, 又学到新东西了

Links booklink

Contact Us: admin [ a t ] ucptt.com