相も変わらずiPhoneで悩む.
・教えて偉い人 — UIControlEventTouchUpInsideとtouchesEndedが被ると駄目?
UIImageViewがUIControlを継承していないのでaddTargetメソッドが使えない. というのは前回のiPhoneネタで書きましたが, それでサブクラスわざわざ作るのも何となく嫌だったのでUIButtonのCustomを動的に生成して置き換えてやろうとしてるわけです. が, 何故か急にそこから落ちる様になったんですね.
で, 現在やってることは
・A_ViewControlerのロード時にUIButtonを生成.
・そのUIButtonに対して
[button addTarget:self action:@selector(method_X) forControlEvents:UIControlEventTouchUpInside];
・method_XはB_ViewControlerを生成して, A_ViewControlerのviewにaddSubview:B_ViewControler.viewする.
・B_ViewControlerは背景透過で, 半透明なUIButtonで全面が覆われている. UIButtonのtouchesEndedに自分のalphaを0.0にする(IBAction)method_Yが設定されている.
説明が分かり辛いですが, 要するに同じ領域(殆ど全面)にUIControlEventTouchUpInsideでアクションが設定されたUIButtonとtouchesEndedが設定されたUIButtonがあって重なってるわけですね.
それって, 同時に設定されていて大丈夫なんだろうか, というのが今の疑問です. それも半透明だし.
今まではカスタムUIImageViewにtouchesEndedを設定した上に更にtouchesEndedが設定されたUIButtonがあったんですが, そこがUIControlEventTouchUpInsideにしてから落ち始めたので怪しんでおる次第です.
んーむ. 我ながら分かり辛い.
この悩みを言葉ではなく心で理解して頂けて, 更にその真実を知っておられる方はコメントとかでご教授頂けると幸いです.
コメントを残す