[问题] 程式新增元件

楼主: 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