2012-07-13 63 views
0

我想在UILabel上设置自定义字体,我已经想出了如何做得很好。我的问题是如何访问我通过代码中的拖放界面构建器创建的UILabel?iOS - 从接口生成器连接UILabel到代码

我试过ctrl +单击UILabel并将其拖到文件的所有者,但它不会让我。我也尝试打开助理编辑器并将UILabel直接连接到相应的.h文件,但这也不起作用。如何以编程方式访问UILabel?我知道这应该很容易。

回答

3
// YourController.h 

@interface YourController : UIViewController 
@property (weak, nonatomic) IBOutlet UILabel *theLabel; 
@end 

// YourController.m 

@implementation 
@synthesize theLabel; 
///.... 
@end 

现在在你的代码中IBOutlet标记,你应该能够从文件的所有者拖动的标签(而不是反过来)的IB。

+0

太好了,谢谢!一个后续问题:我注意到,在某些情况下,即使在@property语句之前,标签在{花括号}中也是如此,就像Karoly的回答一样。这背后的原因是什么?是否需要,最佳实践,其他? – 2012-07-13 23:10:15

+0

不需要。这也创建了一个不需要的本地实例变量。在iOS 6中,它会更简单。 – Mundi 2012-07-14 06:11:45

0

假设您将UILabel添加到.xib文件中。 ctrl点击UILabel并将其拖到您的.h文件。您必须输入某些信息,包括标签的名称。使用您从我们的.m文件输入的标签名称来访问它。

通过ctrl +单击并从.xib拖动UILabel到.h,你将基本上添加UILabel作为属性。它会自动将它的实现添加到.m文件中,以便您可以顺利进行。

0

如果您想在任何时候修改UILabel,您需要在.h文件中声明它,并在您打算修改它的.m文件中声明它。

当你声明它是想大致是:

@interface MyObject { 

UILabel *_testLabel; 

} 

@property (nonatomic, strong) IBOutlet UILabel *testLabel 

那么你当然会做,

@synthesize testObeject = _testLabel; 

在.m文件。完成此操作后,可以按照以前尝试的方式将实际变量链接到.xib文件中的物理标签。