在Interface Builder和XCode中连接UILabel?

Jam*_*ght 9 iphone xcode interface builder objective-c

我正在尝试做一些简单的事情,如在XCode和IB中为视图添加标签,我无法弄清楚如何做到这一点.我在网上找到的所有样品都是旧版本的IB,因此说明不正确.

我的.xib文件上有一个标签,在我的Controller.h文件中,我有一个IBOutlet UILabel声明了一个Property设置.

在我的Controller.m文件中,我合成了该属性.

在Interface Builder中,我不能为我的生活找出如何将我的代码中的标签与.xib上的Label相关联.每当我尝试将Connection连接到File的Owner时,唯一显示的选项是"View".

如果我在Interface Builder的Library窗口下查看Controller,Label会在Outlets下显示为UILabel.我很确定它曾经是一个类型"id",但它会自动显示为UILabel,如果我尝试添加"id",它也不起作用.

有人能指点我到某个地方解释这个愚蠢的事情吗?使标签有文字不应该这么困难.

Pav*_*van 8

假设您的视图称为ExampleView.单击文件所有者,然后按⌘+ 4.这将突出显示身份框.确保类名与类的名称相同.

保存并关闭Interface Builder,然后进入Xcode并验证:

// ExampleViewController.h
#import <UIKit/UIKit.h>

@class ExampleViewController;
@interface ExampleViewController : UIViewController {

    IBOutlet UILabel *label;
}

@property (retain, nonatomic) IBOutlet UILabel *label;

@end
Run Code Online (Sandbox Code Playgroud)

在.m文件中:

// ExampleViewController.m
#import "ExampleViewController.h"

@implementation ExampleViewController

@synthesize label;
Run Code Online (Sandbox Code Playgroud)

然后保存xcode文件并打开ExampleView.将标签拖到视图上.您不应该将该标签连接到"文件"所有者.

INSTEAD你点击FILEOWNER.HIT⌘+ 2这将打开连接框.然后你会看到你的出路.单击并将其连接到您的标签.