此处的目标是能够使用CompoundView()
创建复杂视图,将它们链接到视图类,并且只需使用.xib
即可实例化它们。现在我正在使用XIB
创建CompoundView's
文件,然后在let view = Bundle.main.loadNibNamed("CompoundView", owner: self, options: nil)?.first as! UIView
view.frame=self.bounds
self.addSubview(view)
初始化程序中使用此代码添加它:
CompoundView.swift
但是,这将始终导致包含容器的容器 - 具有单个子视图的单个视图子类(CompoundView.xib
)(xml
文件的超级视图)。我正在寻找一种方法来创建一个没有冗余的复合视图,这至少和我现在正在做的一样简单。
在android中,您可以创建一个由<merge>
标记包围的<merge>
布局,当该布局膨胀到一个对象并添加到视图中时,该视图将采用所有这些{ {1}}代码的子代,但不是<merge>
代码本身,主要是“移除中间人”。
有没有办法在ios中这样做,或者那个“中间人”总是在那里没有程序化操作?