0

私のアプリには、ラベルを作成するメソッドがあります

     -(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];}

次に、このメソッドを他のメソッドから呼び出します。

var 名がないため、これらのラベルの 1 つにアクセスしてスーパービューから削除するにはどうすればよいですか。

4

2 に答える 2

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];

をクリックしてアクセスします。

于 2012-08-15T20:51:53.613 に答える
0

それに ivar/property を作成する必要があります。インターフェイスにこのラベルを付けたくない場合は、実装ファイル内でクラス拡張を宣言し、ラベルを宣言します

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

@synthesize を実装ファイルに忘れずに追加してください。ラベルをサブビューとして追加した後、プロパティに値を割り当てます。

于 2012-08-15T20:49:44.303 に答える