[問題] swift刻UI的問題

看板MacDev作者 (HelloKiKi)時間6年前 (2017/09/15 14:50), 6年前編輯推噓7(7014)
留言21則, 8人參與, 最新討論串1/1
請問各位~ code刻了介面....但是覺得全部塞在UIViewController裡面好醜XD 所以我想要拉出一個swift檔寫成物件 大家應該知道刻介面最後的語法是self.view.addsubview(OOXX) 尷尬地的來了這個self應該是上述UIViewController的class 請問我想要用物件初始化的方式將這個class賦值給這個物件 這個方法可以嗎?但是找不到相關文獻啊。。。 麻煩各位幫小弟解答一下 swift學不久啊QQ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.114.217 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1505458243.A.116.html

09/15 15:49, , 1F
在UIViewController內的self是指UIViewController 在你
09/15 15:49, 1F

09/15 15:50, , 2F
自己的class內的self是指class所產生的那個物件本身
09/15 15:50, 2F

09/15 15:51, , 3F
所以你先new一個物件 然後在UIViewController內用self.
09/15 15:51, 3F

09/15 15:51, , 4F
view.addsubview()去新增物件是ok 或是在你自己的class
09/15 15:51, 4F

09/15 15:52, , 5F
內用self.view.addsubview()去畫UI也是ok 不知道我有沒
09/15 15:52, 5F

09/15 15:52, , 6F
誤會你想要問的意思?
09/15 15:52, 6F

09/15 19:33, , 7F
感覺上原PO是觀念問題,與swift語言無關
09/15 19:33, 7F

09/15 19:34, , 8F
另外建一個UIView的subclass物件與起始值code
09/15 19:34, 8F

09/15 19:59, , 9F
這應該是物件導向觀念的問題 不全是swift= =
09/15 19:59, 9F

09/16 09:18, , 10F
把self.view參數帶進去呢,這樣子會不會專案一大就很
09/16 09:18, 10F
iphone7pro: 多swift檔啊~? 我的確是想用物件導向概念做,然後又想加入MVC概念把View拉出來一個class刻XD 其實我的問題就是,怎麼把其他class設定好的UI加入到我的UIViewController的class這樣XD 這幾天沒有電腦QQ這麼晚才回覆抱歉

09/16 14:21, , 11F
好extension不用嗎.. 這樣就可以拆檔案了呀
09/16 14:21, 11F

09/16 21:47, , 12F
https://imgur.com/a/syhFO 我猜是把view抽離Controller
09/16 21:47, 12F
※ 編輯: yukihello (61.216.114.217), 09/19/2017 09:32:13 ※ 編輯: yukihello (61.216.114.217), 09/19/2017 10:00:17

09/19 10:35, , 13F
viewDidLoad的時候把自己刻的View生出來addSubview即可
09/19 10:35, 13F

09/19 10:38, , 14F
layout的部分可以設定autoresizingMask或Constraint
09/19 10:38, 14F

09/19 10:39, , 15F
或是在viewWillLayoutSubview(did)的時候直接設定frame
09/19 10:39, 15F

09/19 14:16, , 16F
如果是Code刻UI的話可以在 loadView()階段內使用
09/19 14:16, 16F

09/19 14:16, , 17F
viewDidLoad()用在由storyboard建UI的情況
09/19 14:16, 17F

10/13 17:54, , 18F
@IBOutlet可以拉到自己的custom UIView元件。
10/13 17:54, 18F

10/13 17:57, , 19F
然後在IB拉UI的時候,proxy object可以不只一個。
10/13 17:57, 19F

10/13 17:58, , 20F
一般在拉的時候會只有一個proxy object(UIViewController)
10/13 17:58, 20F

10/13 17:58, , 21F
其實可以有多個…。我都這樣切割UI的。
10/13 17:58, 21F
文章代碼(AID): #1PktX34M (MacDev)