[問題] 程式新增元件

作者: goodsheng (恩哈哈)   2018-02-02 15:01:47
各位大大.高手好,
剛入門IOS有許多基本問題詢問。
新增元件如果是選擇用程式的方式處理,
會有一段 view.addSubview(元件)的方式來加到父容器,接著才能做constraint的設定,
現在的問題是,如果我不是想要將元件顯示在swift class所綁的View Controller上,
而是View Controller上的可能是Container View 或 View 內,那該如何做更改?
又另一個類似問題,我有兩個以上的View Controller,是都綁在同一個swift class,
然後我也用了view.addSubview,結果兩個View Controller的同一位置下
都會顯示由程式所新增的元件,而這邊是沒錯,
我的問題是如果只想要其中一個View Controller有顯示,另一個不用顯示,
那如何修改?又或者根本不能這樣用?或者swift class也不適合綁兩個View Controller?
謝謝幫忙。
作者: yuanruo (罪を憎んで人を憎まず)   2018-02-08 19:25:00
myView是你創建view class的名字ex: let myView = otherView(), addSubView(myView)myView 再去add你要加的其他view另外第二個問題最好先用addChildViewController 這方法最後呼叫didMoveToParentViewController顯示你要呈現的至於切換可以用內建的transitionFromViewController或是你自己用一個暫存的controller替代切換不要直接只用addSubview Controller.view這個方法這樣會破壞view hierarchy, 日後碰到複雜的debug困難
作者: goodsheng (恩哈哈)   2018-02-08 17:07:00
請問還有大大可以幫忙看一下嗎@@
作者: Sexyfather (Sexyfather)   2018-02-02 23:42:00
第一個問題 : 其實ViewController 顯示讓你看到的就是一塊UIView 所以跟你前面所提到的是一樣做法而 addSubview 這個方法是用在UIView 而不是UIViewController倒數第三行問題 自身想法是用 window.rootViewController 就能解決 Btw,其實頭到尾還是看不太懂你要問的 XDD 只是憑感覺回你 剛開始用xib 拉一下元件 這樣或許會比較好起步喔
作者: sdico (文)   2018-02-03 16:40:00
你在storyboard可以看到ViewController內有一個view你的view.addSubview指的就是它。如果要加到其他UI上就myView.addSubview, containerView.addSubview ...這樣

Links booklink

Contact Us: admin [ a t ] ucptt.com