[問題] swift刻UI的問題

作者: yukihello (HelloKiKi)   2017-09-15 14:50:41
請問各位~
code刻了介面....但是覺得全部塞在UIViewController裡面好醜XD
所以我想要拉出一個swift檔寫成物件
大家應該知道刻介面最後的語法是self.view.addsubview(OOXX)
尷尬地的來了這個self應該是上述UIViewController的class
請問我想要用物件初始化的方式將這個class賦值給這個物件
這個方法可以嗎?但是找不到相關文獻啊。。。
麻煩各位幫小弟解答一下 swift學不久啊QQ 謝謝
作者: gundam00 (傻那駕駛中)   2017-09-15 15:49:00
在UIViewController內的self是指UIViewController 在你自己的class內的self是指class所產生的那個物件本身所以你先new一個物件 然後在UIViewController內用self.view.addsubview()去新增物件是ok 或是在你自己的class內用self.view.addsubview()去畫UI也是ok 不知道我有沒誤會你想要問的意思?
作者: benjenq (Ben(憋))   2017-09-15 19:33:00
感覺上原PO是觀念問題,與swift語言無關另外建一個UIView的subclass物件與起始值code
作者: panda04056 (圓仔cross56)   2017-09-15 19:59:00
這應該是物件導向觀念的問題 不全是swift= =
作者: iphone7pro (i7pro)   2017-09-16 09:18:00
把self.view參數帶進去呢,這樣子會不會專案一大就很多swift檔啊~?
作者: tentenlee (天天)   2017-09-16 14:21:00
好extension不用嗎.. 這樣就可以拆檔案了呀
作者: ID3238 (默默)   2017-09-16 21:47:00
https://imgur.com/a/syhFO 我猜是把view抽離Controller
作者: Esvent (Esvent)   2017-09-19 10:35:00
viewDidLoad的時候把自己刻的View生出來addSubview即可layout的部分可以設定autoresizingMask或Constraint或是在viewWillLayoutSubview(did)的時候直接設定frame
作者: ID3238 (默默)   2017-09-19 14:16:00
如果是Code刻UI的話可以在 loadView()階段內使用viewDidLoad()用在由storyboard建UI的情況
作者: aecho (@..@")   2017-10-13 17:54:00
@IBOutlet可以拉到自己的custom UIView元件。然後在IB拉UI的時候,proxy object可以不只一個。一般在拉的時候會只有一個proxy object(UIViewController)其實可以有多個…。我都這樣切割UI的。

Links booklink

Contact Us: admin [ a t ] ucptt.com