我的应用有一个创建标签的方法
-(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名称。
答案 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添加到您的实现文件中。将标签添加为子视图后,将值分配给属性。