4

新しい UIButton を追加しました

    UIButton *newButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [newButton setFrame:CGRectMake(x, y, width, height)];
    [newButton setTitle:@"" forState:UIControlStateNormal];
    [newButton setTag:x+INDEX_OFFSET];
    [newButton setBackgroundImage:image forState:UIControlStateNormal];
    [newButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];

    [self addSubview:newButton];
    [self bringSubviewToFront:newButton];

画面には表示されますが、タップ ジェスチャに反応しません。「buttonPressed」を呼び出す必要があります。どんな助けでも素晴らしいでしょう!

4

2 に答える 2

9

考えられる問題の 1 つは、スーパービューの外のフレーム位置にボタンを追加していることです。簡単に確認するにclipToBoundsは、スーパービューの境界でプロパティを YES に設定してから、アプリを実行してください。ボタンが表示されない場合は、ボタンの位置をスーパービューの位置以外に設定したことを意味します。そのため、タッチに反応しません。

于 2012-09-01T16:58:24.100 に答える
2

UIButton別の考えられる問題は、 as asubviewを an に追加した場合ですUIImageView (これはすべきではありませんが、機能します)。この場合、 に追加するか、のプロパティを にUIView設定できます。UIImageViewuserInteractionEnabledYES

于 2015-07-16T07:37:44.690 に答える