3

部分的にボタンを配置していますview... 半分はビューの上にあり、残りの半分は浮いているように見えます。したがって、A がベース ビューであり、B がその上に配置され、このボタンが B の上に追加されている場合、B の上にある部分のボタンをクリックすると、タッチを受け取り、アクションを実行しますが、このタッチが外側にある場合タッチよりもBの領域が実行されていません....ここで何が間違っていますか...?どんな助けでも大歓迎です。

これがボタンの追加方法です。IOSでアプリを削除するのと同じように、ボタンを動的に削除しようとしています。

UIButton *deletButton1 = [UIButton buttonWithType:UIButtonTypeCustom] ;
        deletButton1.frame = CGRectMake(25, -5, 30,30);;
        deletButton1.backgroundColor = [UIColor clearColor];
        deletButton1.tag=1;
        UIImage *buttonImageNormal1 = [UIImage imageNamed:@"delete.png"];
        [deletButton1 setBackgroundImage:buttonImageNormal1 forState:UIControlStateNormal];
        [deletButton1 addTarget:self action:@selector(deleteButton:) forControlEvents:UIControlEventTouchUpInside];

[self.addButton1 addSubview:deletButton1]; 

これがスクリーンショットです..

ここに画像の説明を入力

4

3 に答える 3

3

記録のために、親ビューの適切なメソッドをオーバーライドした場合、タッチを受け取るためにサブビューが親ビューのフレーム内にある必要はありません。

詳細については、次のスレッドを参照してください。

UIViewの境界を超えたインタラクション

于 2012-09-26T14:34:39.163 に答える
0

addbutton1に削除ボタンを追加しているので、addbutton1の背景色を設定し、deletebutton1の別の色を設定して、天気フレームが適切かどうかを確認します。私はあなたのフレームが適切ではないと思いますそれが起こっている理由ですそしてあなたのdeletebutton1が別のビューのために隠されていないことを確認してください。

これについてはよくわかりませんが、一度確認してください。[deletButton1 setNeedsDisplay];

于 2012-09-26T15:08:00.453 に答える