次のように、UIButton を作成して UIView に動的に追加しています。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
btn.frame = CGRectMake(100, 10, btn.bounds.size.width, btn.bounds.size.height);
[btn addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
[myView addSubview:btn];
これは期待どおりに機能し、myAction が呼び出されます。次のように、表示されている myView の外側にこれを追加すると、問題が始まります。
btn.frame = CGRectMake(-100, 10, btn.bounds.size.width, btn.bounds.size.height);
後で、myView を画面外にアニメーション化して btn を表示します。
[UIView beginAnimations:nil context:NULL];
[myView layer].frame = CGRectMake(320, 0, 320, 48);
[UIView commitAnimations];
しかし問題は、myAction が呼び出されなくなったことです。なんで?そして、それを修正する方法は?