gpt4 book ai didi

swift - iOS - ViewController 访问 cocoa touch 类

转载 作者:行者123 更新时间:2023-11-30 14:18:25 24 4
gpt4 key购买 nike

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

最佳答案

欢迎来到 Stack Overflow。

你的问题措辞很奇怪,很难弄清楚你在问什么。

我认为您是说您有一个父 View Controller ,它具有一个或多个容器 View ,这些容器 View 托管其他 subview Controller ,并与嵌入序列链接。您的 subview Controller 将负责父 View Controller 窗口的“图 block ”。

此外,您希望子平铺 View Controller 能够访问它们所在的容器 View 。是这样吗?

如果是这样,简短的回答是“不要这样做”。您应该将另一个 View Controller 的 View 视为私有(private) View 。

应该做的是构建一个协议(protocol),您的父 View Controller 可以使用该协议(protocol)与平铺 View Controller 进行通信。假设您为每个图 block View Controller 提供了一个符合协议(protocol) TileHostVCProtocol 的属性“tileHostVC”。

然后在父 View Controller 的prepareForSegue方法中,检查嵌入segues的标识符,您会看到一个,设置图 block 的tileHostVC属性。

现在,在您的tile VC中,您可以向主机 View Controller 发送消息(在TileHostVCProtocol中定义)以询问其问题或请求服务。

关于swift - iOS - ViewController 访问 cocoa touch 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com