メニューとしてレンダリングするUIViewController
を表示したい があります。UIView
このメニューにはいくつかのボタンがあります。このメニューをアプリのいくつかの異なる場所で再利用したかったので、これらのボタンでViewFactory
a を返すメソッドを持つ というクラスを作成することにしました。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
ますが、表示されますが、ボタンは何にも反応しません。