Re: [問題] 手勢操控之問題

看板MacDev作者 (阿翔)時間9年前 (2015/03/11 20:56), 9年前編輯推噓1(108)
留言9則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.168.0.73 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1426078619.A.8B2.html ※ 編輯: johnlinvc (218.168.0.73), 03/11/2015 21:02:23

03/11 21:05, , 1F
用IB做gesture的方法 http://goo.gl/Jgoubj
03/11 21:05, 1F

03/11 21:16, , 2F
但是朋友推薦用程式碼控制較好,所以我沒有用storyboard
03/11 21:16, 2F

03/11 21:17, , 3F
感謝前輩提供的寫法, 讓我又多學了一招
03/11 21:17, 3F

03/12 01:38, , 4F
可以請教一下為什麼init部份要在loadView裡比較好呢?
03/12 01:38, 4F

03/12 02:04, , 5F
放loadView只是你在自定ViewController的view時 順道init
03/12 02:04, 5F

03/12 02:05, , 6F
了其他相關要加到view上的東西而已 時間點只差了一步
03/12 02:05, 6F

03/12 02:07, , 7F
你不重載loadview,他也會調用默認的loadview返回空的view
03/12 02:07, 7F

03/12 02:08, , 8F
至於memorywarning那些放viewdidload裡一樣也會被call到
03/12 02:08, 8F

03/12 14:18, , 9F
真好, 又學到新東西了
03/12 14:18, 9F
文章代碼(AID): #1L03kRYo (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1L03kRYo (MacDev)