gpt4 book ai didi

ios - UITextView 和 UILabel subview 属性为零

转载 作者:行者123 更新时间:2023-11-28 22:02:52 24 4
gpt4 key购买 nike

在我的一个 View Controller 中,我有以下结构:

+-View
+-Scroll View 1
+-UIView
+-Scroll View 2

...我将三个 subview 添加到 ScrollView 2 中,其中一个包含一系列 UITextView 和 UILabel 作为类似表单的结构。

我看到的问题是,当我尝试从 View Controller 级别访问引用这些控件的属性时,它们将变为 nil。但是,如果我在包含 UITextFields 和 UILabel 的 UIView 内的 awakeFromNib 中设置断点,则属性有效……这几乎就像引用消失了。

我可以清楚地看到它们存在,如果我在设置断点后在调试控制台中执行以下操作,我肯定会得到 View 图形输出到控制台:

po [self.profileEditView recursiveDescription] 

这听起来是不是很熟悉,如果是,我该如何补救?

我正在考虑做的一件事就是不尝试直接访问这些属性,因为目标是让 View Controller 成为那些 UITextView 控件的委托(delegate),以便它可以通过调整 Scroll 来响应成为第一响应者当每个 TextView 获得焦点时查看 1 的位置。这只是更麻烦,但如果那是我必须做的,我会走那条路。

我以前从未见过这种情况,所以我觉得这很奇怪。这个 View Controller 中肯定发生了很多事情。

其他详细信息:

  • View Controller 在 Storyboard 中定义。
  • 在运行时添加的 UIView subview 具有我以编程方式加载的 XIB。

最佳答案

我发现了问题所在...我无意中将 另一个 subview 实例化为 initWithFrame 中的 subview (不要问我为什么这样做...我想我在印象中我需要这样做才能在那时实例化 XIB),因此嵌套 subview 上的属性是有效的,但顶级 View (包含在 ScrollView 2 中的那个)的属性都是 nil。

我与新西兰的一位开发人员进行了五分钟的交谈,他问我在那里做什么,很明显我需要做的是在 View Controller 中实例化 View 及其 NIB:

ProfileEditView *view = [[[NSBundle mainBundle] loadNibNamed:@"ProfileEditView" owner:nil options:nil] objectAtIndex:0];

...而不是用 initWithFrame 实例化它。

不过还是谢谢你的帮助!

关于ios - UITextView 和 UILabel subview 属性为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24687613/

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