7

私はを持っておりUIButton、にサブビューを追加してUIButtonUILabelます。ボタンのアクションをタップしてUILabelもトリガーされません。UIButtonをタップしたときにタッチイベントが渡されるようにする簡単な修正はありUILabelますか?
にジェスチャレコグナイザーを追加してUILabel、のアクションをトリガーすることを考えていますがUIButton、もっと簡単な方法があるかどうかはわかりません。

4

2 に答える 2

6

おそらく、ラベルへのユーザーインタラクションを無効にすることができます。

_yourLabel.userInteractionEnabled = NO;
于 2012-09-05T22:44:34.323 に答える
4

これを試して、

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *firstButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    [firstButton setTitle:@"first" forState:UIControlStateNormal];
    firstButton.frame=CGRectMake(40, 70, 80, 80);
    [firstButton addTarget:self action:@selector(firstButtonClicked) forControlEvents: UIControlEventTouchUpInside];
    [self.view addSubview:firstButton];

    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 80, 80)];
    label.text=@"hai";
    label.backgroundColor=[UIColor redColor];
    [firstButton addSubview:label];

}

-(void)firstButtonClicked {
    NSLog(@"first");
}
于 2012-09-06T04:25:43.230 に答える