从另一个方法将子视图添加到子视图

Posted

技术标签:

【中文标题】从另一个方法将子视图添加到子视图【英文标题】:Adding subview to a subview from another method 【发布时间】:2010-09-23 19:30:59 【问题描述】:

让我先描述一下我的情况。我有一个主视图,我希望在其中放置一个较小的滚动视图子视图。然后在代码中(在另一种方法中),我想向该滚动视图子视图添加一些子视图(图像和文本视图)。甚至可能稍后删除图像和文本子视图(在另一种方法中)。所以图像和文本子视图最终成为主视图的子视图的子视图。

如果这一切都发生在同一个方法中,这很容易做到。但我似乎无法通过另一种方法将第三代子视图添加到第二个子视图。期望类似:

[self.view.scrollviewSubview addSubview:anotherSubview];

如何定位在主视图中作为子视图放置的滚动视图子视图。希望我的问题是有道理的,这真的很难用文字来描述。

【问题讨论】:

【参考方案1】:

我不确定是否理解了^^

但是如果你的问题是访问一个你没有指针的子视图,也许你可以为你的子视图设置一个标签

[查看 setTag:9000];

稍后在您的代码中,您可以使用以下命令搜索此视图:

[查看 viewWithTag:9000]

不要忘记使用 viewWithTag 你会得到一个 UIView 类。所以如果你需要获得一个特定的类,你应该像

(MyViewSubclassed*)[ 查看 viewWithTag:9000 ]

祝你好运!

【讨论】:

这肯定不是最漂亮的方式,但效果很好。谢谢。顺便说一句,您所说的“访问没有指针的子视图”。我如何指向它的指针?这是一个更好的解决方案。 这取决于你的类图^^你能做一个你的类的模式,也许我们可以帮助你做一件更好的事情;-) 我可以让 Xcode 打印出我当前项目的示意图吗? 这是一个小项目atm。 appDelegate 当然是一切都在发生的 mainViewController,而 FlipsideViewController 将编辑后的字符串返回给 mainViewController 以进行显示。简单... 也许你可以将你的 UISCrolLView 声明为一个类变量。在需要将子视图添加到 uiscrollview 的文件的 .h 中,声明 UIScrollview *myCrollView;当你创建它时,使用“myCrollView”,然后你就会有一个指向 myCrollView 的指针。也许如果你给我们一些代码可能会更容易^^

以上是关于从另一个方法将子视图添加到子视图的主要内容,如果未能解决你的问题,请参考以下文章

将子视图添加到 UITableViewCell 问题

何时将子视图从情节提要添加到超级视图?

Cocoa:将子视图添加到来自不同类和 nib 的视图

将子视图添加到 PDFView

如何将子视图添加到自定义 UICollectionViewCell

如何将子视图添加到 UITableViewCell