我的应用程序有一个创建标签的方法
-(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名称。
发布于 2012-08-16 04:51:54
-(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];才能访问它。
发布于 2012-08-16 04:49:44
您需要为它创建一个ivar/属性。如果您不希望在接口上使用此标签,请在实现文件中声明一个类扩展并声明您的标签
@interface yourclass()
@property (nonatomic, weak)UILabel *yourLabel;
@end记住将@synthesize添加到您的实现文件中。将标签作为子视图添加后,将该值分配给属性。
https://stackoverflow.com/questions/11977001
复制相似问题