我有一个UIViewController
我想显示一个UIView
呈现为菜单的内容。这个菜单上有几个按钮。我想在我的应用程序的几个不同的地方重用这个菜单,所以我想我会创建一个名为的类ViewFactory
,它有一个返回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
出现,但按钮从不响应任何内容。