做这个的最好方式是什么?
现在,我想只使用addSubvIEw以编程方式添加视图是可以接受的,但我不确定如何进行此 *** 作.
注意:我尝试使用界面构建器添加其他子视图,但是一旦我上面提到的自定义UIVIEw子类以编程方式创建其他视图,它们就会被隐藏,大概是因为它们最后添加了.
@H_419_4@解决方法 只需将通用UIVIEw拖到Interface Builder中的nib中,并将其类设置为自定义子类.您仍然可以使用简单的旧UIVIEw完成所有 *** 作,包括拖放子视图.您将无法在Interface Builder中看到自定义子视图的实际外观;它只是一个灰色矩形.您可以(我认为)在Xcode 3中使用IB插件完成此 *** 作,但是,至少在目前,Xcode 4不支持此类插件.
编辑:
要解决OP的后续行动,您需要以编程方式管理z排序.可能最简单的方法是将代码保持原样,但不要执行以下 *** 作:
UIVIEw *mySubvIEw1 = ...;UIVIEw *mySubvIEw2 = ...;UIVIEw *mysubvIEw3 = ...;[self addSubvIEw:mySubvIEw1];[self addSubvIEw:mySubvIEw2];[self addsubvIEw:mySubvIEw3];
(正如您所指出的那样,可能会将子视图叠加在用户的子视图之上)
做类似的事情:
UIVIEw *container = [[UIVIEw alloc] initWithFrame:[self bounds]];UIVIEw *mySubvIEw1 = ...;UIVIEw *mySubvIEw2 = ...;UIVIEw *mysubvIEw3 = ...;[container addSubvIEw:mySubvIEw1];[container addSubvIEw:mySubvIEw2];[container addsubvIEw:mySubvIEw3];[self addSubvIEw:container];[self sendSubvIEwToBack:container];[container release];
您也可以使用[self insertSubvIEw:container atIndex:0]但我认为在快速浏览代码期间添加和移动到后面会更清晰一些.
最终结果是您不必弄乱子视图的现有z排序;通过将它们放在一个易于管理的单个容器中,您可以将整个集合移动到子视图层次结构中的任何位置.
@H_419_4@ @H_419_4@ @H_419_4@ @H_419_4@ 总结以上是内存溢出为你收集整理的ios – 在以编程方式创建的UIView层次结构之上添加子视图全部内容,希望文章能够帮你解决ios – 在以编程方式创建的UIView层次结构之上添加子视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)