我想在UILabel上设置自定义字体,我已经想出了如何做得很好。我的问题是如何访问我通过代码中的拖放界面构建器创建的UILabel?iOS - 从接口生成器连接UILabel到代码
我试过ctrl +单击UILabel并将其拖到文件的所有者,但它不会让我。我也尝试打开助理编辑器并将UILabel直接连接到相应的.h文件,但这也不起作用。如何以编程方式访问UILabel?我知道这应该很容易。
我想在UILabel上设置自定义字体,我已经想出了如何做得很好。我的问题是如何访问我通过代码中的拖放界面构建器创建的UILabel?iOS - 从接口生成器连接UILabel到代码
我试过ctrl +单击UILabel并将其拖到文件的所有者,但它不会让我。我也尝试打开助理编辑器并将UILabel直接连接到相应的.h文件,但这也不起作用。如何以编程方式访问UILabel?我知道这应该很容易。
// YourController.h
@interface YourController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *theLabel;
@end
// YourController.m
@implementation
@synthesize theLabel;
///....
@end
现在在你的代码中IBOutlet
标记,你应该能够从文件的所有者拖动的标签(而不是反过来)的IB。
假设您将UILabel添加到.xib文件中。 ctrl点击UILabel并将其拖到您的.h文件。您必须输入某些信息,包括标签的名称。使用您从我们的.m文件输入的标签名称来访问它。
通过ctrl +单击并从.xib拖动UILabel到.h,你将基本上添加UILabel作为属性。它会自动将它的实现添加到.m文件中,以便您可以顺利进行。
如果您想在任何时候修改UILabel,您需要在.h文件中声明它,并在您打算修改它的.m文件中声明它。
当你声明它是想大致是:
@interface MyObject {
UILabel *_testLabel;
}
@property (nonatomic, strong) IBOutlet UILabel *testLabel
那么你当然会做,
@synthesize testObeject = _testLabel;
在.m文件。完成此操作后,可以按照以前尝试的方式将实际变量链接到.xib文件中的物理标签。
太好了,谢谢!一个后续问题:我注意到,在某些情况下,即使在@property语句之前,标签在{花括号}中也是如此,就像Karoly的回答一样。这背后的原因是什么?是否需要,最佳实践,其他? – 2012-07-13 23:10:15
不需要。这也创建了一个不需要的本地实例变量。在iOS 6中,它会更简单。 – Mundi 2012-07-14 06:11:45