访问本地定义的标签

时间:2012-08-15 20:46:09

标签: ios uilabel

我的应用有一个创建标签的方法

     -(void)addLabel:(float)x:(float)y:(float)w:(float)h:(NSString *)text {
        CGRect label1Frame = CGRectMake( x, y, w, h );
        UILabel *label1 = [[UILabel alloc] initWithFrame: label1Frame];
        label1.text = text;
        [self.view addSubview:label1];}

然后我从其他方法中调用此方法。

如何访问其中一个标签以将其从superview中删除,因为我没有var名称。

2 个答案:

答案 0 :(得分:1)

-(void)addLabel:(float)x :(float)y :(float)w :(float)h :(NSString *)text tag:(NSInteger)tag {
    CGRect label1Frame = CGRectMake( x, y, w, h );
    UILabel *label1 = [[UILabel alloc] initWithFrame: label1Frame];
    label1.tag = tag;
    label1.text = text;
    [self.view addSubview:label1];
}

然后传入唯一的tag值(整数)。然后使用:

UILabel *label = (UILabel *)[self.view viewWithTag:someIntID];

访问它。

答案 1 :(得分:0)

您需要为其创建一个ivar / property。如果你不想在你的界面上有这个标签,请在你的实现文件中声明一个类扩展并声明你的标签

@interface yourclass()
@property (nonatomic, weak)UILabel *yourLabel;
@end

请记住将@synthesize添加到您的实现文件中。将标签添加为子视图后,将值分配给属性。