iOS - ViewController访问cocoa touch类

时间:2015-06-14 23:33:54

标签: swift

我一直在开发一个应用程序,我有一个名为Tiles的可可触摸类文件。在这个类中,我已经将sizeConstraints应用到我的每个tile中。我开始将这些sizeConstraints设置为常量,因此它可以在某个设备上运行。我确定它在该设备上工作,然后我决定然后将常量更改为零,并将其设置为我的ViewController内的UIView的乘数。在我的ViewController里面我有一个containerView,它只是一个UIView,它将保存我的瓷砖。问题是,我无法访问我的Tiles类中的containerView,因此无法将每个Tile分配给我的containerView的某个乘数。我在我的ViewController中做了positionConstraints,这很简单,并且已经完成,但要获得实际Tiles的确切大小对我来说不起作用。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

欢迎使用Stack Overflow。

你的问题措辞奇怪,而且要弄清楚你的问题有点难。

我认为你说你有一个父视图控制器,它有一个或多个容器视图,托管其他子视图控制器,与嵌入segue链接。您的子视图控制器将负责父视图控制器窗口的“图块”。

此外,您希望子级视图控制器可以访问包含它们的容器视图。 是吗?

如果是这样,简短的回答是“不要这样做”。您应该将另一个视图控制器的视图视为私有。

应该做的是构建一个协议,您的父视图控制器可以使用该协议与磁贴视图控制器进行通信。假设您为每个磁贴视图控制器提供符合协议TileHostVCProtocol的属性“tileHostVC”。

然后在父视图控制器的prepareForSegue方法中,检查嵌入segue的标识符,然后看一个,设置tile的tileHostVC属性。

现在,在您的磁贴VC中,您可以向主机视图控制器发送消息(在您的TileHostVCProtocol中无视),向其提出问题或请求服务。