0

サブビューがUIlabelである動的UIButtonsがあります。私の要件は、ユーザーの選択 (ボタンを長押し) に基づいて、特定のボタン サブビュー ラベル テキストを更新し、残りのボタン サブビュー ラベル テキストを削除する必要がある後、最初に 1 つのラベル テキストを 1 つのボタンに表示することです。

私はこのようにしてみました

for (int i=0; i < [arr count]; i++) 
{
          UILabel *myLbl = [[UILabel alloc] initWithFrame:CGRectMake(30, 70, 60, 21)];
        if (myissue.tag ==1) {
            myLbl.text = @"Default";
        }else {
            myLbl.text = @"";
        }
        myLbl.backgroundColor = [UIColor clearColor];
        myLbl.textColor = [UIColor colorWithRed:51.0/255.0 green:51.0/255.0 blue:51.0/255.0 alpha:1.0];
        [myLbl setFont:[UIFont fontWithName:@"Helvetica" size:12]];
        myLbl.textAlignment = NSTextAlignmentCenter;
        myLbl.tag = i+1;
        [myButton addSubview:defaultLbl];
        [myLbl release];
}

And for retrieving the UILabel text 
- (void)longPressTap:(UILongPressGestureRecognizer *)sender
{
if ([recognizer.view tag]) {
   for (UIButton *btn in scrollView.subviews) {
                UIButton *btnTag = (UIButton *)btn;
                 NSLog(@"--sv:%@", btn.subviews);
                 if (recognizer.view.tag == btnTag.tag){
                      [[btn.subviews objectAtIndex:3] text] ;
                    }else {

                        [[btn.subviews objectAtIndex:3] textAttributesForNil] ;
                }
            }
        }
    }

}

私の問題は、ボタン サブビュー ラベル テキストを選択できず、残りのボタン ラベル テキストを削除できなかったことです。私を助けてください。

4

1 に答える 1

1

ボタンのサブビューとしてラベルを追加する必要はありません。ボタンには、次を使用して設定できる独自のテキスト ラベルが既にあります。[button setTitle:(NSString *) forState:(UIControlState)]

設定したばかりのテキストを削除するにはseTitle:@""

于 2013-03-06T07:24:57.023 に答える