メニューとしてレンダリングするUIViewControllerを表示したい があります。UIViewこのメニューにはいくつかのボタンがあります。このメニューをアプリのいくつかの異なる場所で再利用したかったので、これらのボタンでViewFactorya を返すメソッドを持つ というクラスを作成することにしました。UIView
私ViewControllerはこのメソッドを呼び出して返されたものを取得し、UIViewそれをサブビューとして追加します。
これはうまくいきます。ビューとそのすべてのボタンを表示できますが、ボタンはどのタッチ イベントにも反応しません。なぜこれが事実なのか、私が何を間違っているのか知りたいと思っています。
これが私のコードですViewFactoryClass:
- (UIView *) addCloseRow
{
// UIView container for everything else.
UIView *navRow = [[UIView alloc] initWithFrame:CGRectMake(0,225,350,45)];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.userInteractionEnabled = YES;
[navRow addSubview:button];
[button addTarget:self action:@selector(closeButtonTouchDownEvent) forControlEvents: UIControlEventTouchDown];
navRow.userInteractionEnabled = YES;
return navRow;
}
私のメインNavigationControllerクラスでは、次のように呼び出して取得していUIViewます。
ViewFactory *factory = [[ViewFactory alloc] init];
[self.navigationController.navigationBar addSubview:[factory MainNavigationUIView]];
繰り返しUIViewますが、表示されますが、ボタンは何にも反応しません。