【发布时间】:2014-05-07 09:50:40
【问题描述】:
我是 ObjectiveC 的新手(+/- 两周),所以我很难实现在其他语言中很容易实现的东西,我希望有人能提供帮助(如果可能的话):
背景: 我有一个在相当复杂的体系结构中包含许多窗口的界面,每个窗口都可以调用其他窗口(ViewControllers、TableViewControllers、Tab/Nav VC 等)。 我现在正在使用“模态”,因为我不知道如何在没有错误的情况下使用 Push。 每个窗口都有一个调用dismissViewController的按钮,这个按钮在任何地方都是相同的(相同的图形、位置等)。
我认为为它们中的每一个创建一个 IBAction 并给出完全相同的名称和相同的功能很麻烦,所以我决定创建一个 UIButton 类别的“自定义类”,将所有参数放在那里,然后给出故事板中的按钮是一个类,因此可以轻松配置它们。
问题: 虽然这对于某些具有复杂功能的按钮非常有效,但它不适用于dismissViewController ...我想这是因为我使用的是“self”,这在这里是错误的,但我不知道如何使用“parent” ? 这是代码
#import "returnToMainMenuButton.h"
@implementation returnToMainMenuButton
-(IBAction)returnToMainMenu:(id)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
问题: 1)有可能做到这一点吗?因为我真的不喜欢在我的代码中重复完全相同的步骤 10 次,所以我宁愿调用一次操作而不是声明它并启动它。 (我想有可能,因为我们可以选择预定义的类型,如“添加”、“保存”等)
2) 如果是,您能否告诉我如何做到这一点?
3) 如果没有,还有其他方法可以做这样的事情吗?
非常感谢。 干杯
【问题讨论】:
-
您是否在您正在开发的应用程序的任何地方使用了导航控制器?
-
@Ashutosh 是的,我在某些视图中使用它,但不在主屏幕上。主屏幕是简单的 VC,我在表格之前有一些 NC(以允许正常添加/编辑)。
-
好的,所以如果您将 UINavigationController 作为您当前所在的 viewController 的根,那么您将不得不从中弹出而不是关闭它。如果我是对的,请告诉我,以便我给你一个简短的答案。
-
@Ashutosh 谢谢你的回答。可悲的是,我并不总是将 NC 作为我观点的根源。例如,我有一个带有垂直选择的屏幕(如游戏选择屏幕),一些按钮调用单个视图(VC),必须将其关闭(返回按钮或取消自定义按钮)...
-
Objective-C 类名应该大写。
标签: ios objective-c uibutton