看板 MacDev 關於我們 聯絡資訊
請問各位~ 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
gundam00: 在UIViewController內的self是指UIViewController 在你 09/15 15:49
gundam00: 自己的class內的self是指class所產生的那個物件本身 09/15 15:50
gundam00: 所以你先new一個物件 然後在UIViewController內用self. 09/15 15:51
gundam00: view.addsubview()去新增物件是ok 或是在你自己的class 09/15 15:51
gundam00: 內用self.view.addsubview()去畫UI也是ok 不知道我有沒 09/15 15:52
gundam00: 誤會你想要問的意思? 09/15 15:52
benjenq: 感覺上原PO是觀念問題,與swift語言無關 09/15 19:33
benjenq: 另外建一個UIView的subclass物件與起始值code 09/15 19:34
panda04056: 這應該是物件導向觀念的問題 不全是swift= = 09/15 19:59
iphone7pro: 把self.view參數帶進去呢,這樣子會不會專案一大就很 09/16 09:18
iphone7pro: 多swift檔啊~? 我的確是想用物件導向概念做,然後又想加入MVC概念把View拉出來一個class刻XD 其實我的問題就是,怎麼把其他class設定好的UI加入到我的UIViewController的class這樣XD 這幾天沒有電腦QQ這麼晚才回覆抱歉
tentenlee: 好extension不用嗎.. 這樣就可以拆檔案了呀 09/16 14:21
ID3238: https://imgur.com/a/syhFO 我猜是把view抽離Controller 09/16 21:47
※ 編輯: yukihello (61.216.114.217), 09/19/2017 09:32:13 ※ 編輯: yukihello (61.216.114.217), 09/19/2017 10:00:17
Esvent: viewDidLoad的時候把自己刻的View生出來addSubview即可 09/19 10:35
Esvent: layout的部分可以設定autoresizingMask或Constraint 09/19 10:38
Esvent: 或是在viewWillLayoutSubview(did)的時候直接設定frame 09/19 10:39
ID3238: 如果是Code刻UI的話可以在 loadView()階段內使用 09/19 14:16
ID3238: viewDidLoad()用在由storyboard建UI的情況 09/19 14:16
aecho: @IBOutlet可以拉到自己的custom UIView元件。 10/13 17:54
aecho: 然後在IB拉UI的時候,proxy object可以不只一個。 10/13 17:57
aecho: 一般在拉的時候會只有一個proxy object(UIViewController) 10/13 17:58
aecho: 其實可以有多個…。我都這樣切割UI的。 10/13 17:58