0

暂时远离 XCode 编程,现在我要重新开始,感觉我要重新开始了。我有一个简单的例子让我发疯。我创建了一个名为 Word1View 的 UIView 子类并将其添加到我的故事板中。我将它声明为主视图控制器中的属性,并将其作为 IBOutlet 附加到主视图。我可以使用 Core Graphics 毫无问题地在此视图上绘制(矩形、线条等)。这是“.h”文件中的代码。该属性在“.m”中正确合成

#import <UIKit/UIKit.h>
#import "Word1View.h"

@interface Board3ViewController : UIViewController
{
    Word1View *word1View;
}   
@property (nonatomic, strong) IBOutlet Word1View *word1View;
@end

现在,问题来了。我在 Word1View.h 中添加了一个 UILabel(稍后我将添加 UIImageFiles),它看起来像这样:

#import <UIKit/UIKit.h>

@interface Word1View : UIView
{
    UILabel *testLabel;
}
@property (nonatomic, retain) UILabel *testLabel;
@end

该属性也被正确合成。UILabel 被添加到主故事板的视图中。我试图使它成为一个 IBOutlet,但只要它是子视图的一部分,就无法将它连接起来。我试图在我的主视图控制器中访问 UILabel,如下所示:

[super viewDidLoad];
[self.view addSubview:word1View];
NSLog(@"Label text is: %@", word1View.testLabel.text);

我没有任何访问该标签的权限,正如 NSLog 的输出所证明的那样:Board3[14520:c07] 标签文本是:(null)

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

任何帮助是极大的赞赏。谢谢你。

4

1 回答 1

0

你需要实例化你的UILabel并给它一些文本。

wordView1 = [[UILabel alloc] init];
wordView.text = @"Some Text";
于 2013-06-02T02:15:19.653 回答