在我的应用中,我有一个带有按钮的工具栏。当您按下该按钮时,会出现一个actionSheet,您可以更改应用程序的语言。我想在很多视图中放置这个工具栏,但是我想在我的所有视图中使用相同的对象,而不是复制粘贴。所以我创建了一个带有nib文件的UIViewController,这个nib文件包含了我的toolBar。现在,在uiview中,我这样做
toolBar *objToolBall = [[toolBar alloc] initWithNibName:@"toolBar" bundle:nil];
objToolBall.view.frame = CGRectMake(0, 418, 320, 44);
[self.view addSubview:objToolBall.view];
[objToolBall release];
我的问题是当我按下toolBar中的按钮时,程序尝试在我创建对象的文件中找到方法“clickButtonLanguage”,而不是在“toolBar.m”中。
我如何进入“toolBar.m”方法?
答案 0 :(得分:0)
问题不在于发布(假设你的原始viewController及其相关视图仍然存在)。这个版本是有道理的:你创建了一个对象,将它的责任交给你添加它的视图,现在你需要释放它,这样它就不会泄漏。所以不要掉线。
您正在原始视图控制器中进行方法调用,因为正是您将其连接到的内容。如果您想将其连接到其他IBActions
,则必须使用
[objToolBall addTarget:action:forControlEvents:]
然后将这些对象作为侦听器删除,并调用-removeTarget:action:forControlEvents
。