Ios 如何操作子视图中的对象?

Ios 如何操作子视图中的对象?,ios,uiview,Ios,Uiview,离开XCode编程有一段时间了,现在我重新开始,感觉自己又重新开始了。我有一个让我发疯的简单例子。 我已经创建了一个名为Word1View的UIView子类,并将其添加到我的故事板中。 我在主视图控制器中将其声明为属性,并将其作为IBOutlet附加到主视图。我可以使用核心图形(矩形、直线等)在该视图上绘制,没有任何问题。这是“.h”文件中的代码。属性在“.m”中正确合成 我无法访问该标签,NSLog的输出证明了这一点,即: Board3[14520:c07]标签文本为:(空) 我希望能够从主视

离开XCode编程有一段时间了,现在我重新开始,感觉自己又重新开始了。我有一个让我发疯的简单例子。 我已经创建了一个名为Word1View的UIView子类,并将其添加到我的故事板中。 我在主视图控制器中将其声明为属性,并将其作为IBOutlet附加到主视图。我可以使用核心图形(矩形、直线等)在该视图上绘制,没有任何问题。这是“.h”文件中的代码。属性在“.m”中正确合成

我无法访问该标签,NSLog的输出证明了这一点,即: Board3[14520:c07]标签文本为:(空)

我希望能够从主视图控制器访问标签(更改其文本、属性等)


非常感谢您的帮助。谢谢。

您需要实例化您的
UILabel
,并给它一些文本

wordView1 = [[UILabel alloc] init];
wordView.text = @"Some Text";

要消除一类错误,应该省略显式实例变量声明。只需声明属性,编译器就会自动为您创建实例变量。通过定义自己的实例变量,您可能会在显式声明的实例变量和编译器现在为您合成的实例变量之间产生混淆;也没有(b)如何
word1View
创建
testLabel
,因此很难给您提供建议。谢谢@Rob。word1View是在IB中创建的,并添加到我的主视图控制器的主视图中。感谢另一个响应,我使用word1View.testLabel=[[UILabel alloc]initWithFrame:CGRectMake(10,10,30,10)]创建了testLabel;现在,我放入标签的文本已正确分配。问题是该标签未显示在视图上。如何使标签显示在视图中?您需要调用
addSubview
将标签添加到视图中。但是为什么不在IB中添加标签呢?谢谢@Jeff。仅供参考,word1View是在IB中创建的,并添加到我的主视图控制器的主视图中。我采纳了您的建议,添加了:word1View.testLabel=[[UILabel alloc]initWithFrame:CGRectMake(10,10,30,10)];现在,我放入标签的文本已正确分配。问题是该标签未显示在视图上。如何使标签显示在视图中?对于要添加到视图中的任何控件,您需要
addSubview
#import <UIKit/UIKit.h>

@interface Word1View : UIView
{
    UILabel *testLabel;
}
@property (nonatomic, retain) UILabel *testLabel;
@end
[super viewDidLoad];
[self.view addSubview:word1View];
NSLog(@"Label text is: %@", word1View.testLabel.text);
wordView1 = [[UILabel alloc] init];
wordView.text = @"Some Text";